我可以得到输出为Wed May 11 15:36:08 IST 2016
,但我如何将日期转换为所需格式的字符串?如何解析给定的字符串格式为dd-MMM-yyyy hh:mm:ss:aa?
要求的格式为:12-05-2016 16:05:08 pm
我想的是什么,
public class Test {
public static void main(String args[]) throws ParseException{
String epoche="1462961108000";
Long initialLogTime = Long.valueOf(epoche);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(initialLogTime);
Calendar fromDateTime = calendar;
Calendar toDateTime = fromDateTime;
toDateTime.add(Calendar.MINUTE, 30);
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MMM-yyyy hh:mm:ss:aa");
String datestring = String.valueOf(fromDateTime.getTime());
String datestring1 = String.valueOf(toDateTime.getTime());
System.out.println(datestring); //here output is Wed May 11 15:36:08 IST 2016
System.out.println(datestring1); // here output is Wed May 11 15:36:08 IST 2016
Date dates = dateFormat.parse(datestring);
Date date1s = dateFormat.parse(datestring1);
System.out.println(dates);
System.out.println(date1s);
}
}
我得到的错误是:
Exception in thread "main" java.text.ParseException: Unparseable date: "Wed May 11 16:05:08 IST 2016"
at java.text.DateFormat.parse(DateFormat.java:357)
at test.Test.main(Test.java:27)
你为什么要转换成字符串,然后解析,当你已经拥有* *的价值?目前还不清楚这里的最终目标是什么......(如果只是将值格式化为字符串,则根本不应该调用'parse')。 –
如前所述,应该使用方法调用SimpleDateFormat 'Date'对象上的'format()',而不是'String'对象上的'parse()',以获得所需的结果 – Draken
如果使用SimpleDateFormat,请考虑它是格式化程序。它可以解析和格式化。解析意味着您将转换为类型实例,例如Date。格式意味着你基本上将它转换成可读形式,通常以字符串的形式。在你的情况下,你已经有了一个约会,所以你不需要像你想要做的那样做任何中间步骤。 –