我有两个Date对象,我试图将其格式化为MM/DD/YYYY
格式到"yyyy-mm-dd HH:mm:ss"
格式。
我目前使用的方法是首先使用SimpleDateFormat
格式化这些日期,这将返回两个Strings
,然后我必须将此字符串转换回Date以获取格式化的最终{{1}对象。
所以我想知道是否有更简单的方法来更改Date对象格式而不进行多个步骤?
由于
答案 0 :(得分:1)
格式无关紧要。 Date
只表示自Unix纪元以来的毫秒数。
请记住,Date
没有格式概念,也不关心。
您应该使用您需要的任何格式化器来格式化Date
对象...
例如......
Date date = new Date();
System.out.println(date);
System.out.println(DateFormat.getDateTimeInstance().format(date));
System.out.println(new SimpleDateFormat("dd/MM/yyyy").format(date));
System.out.println(new SimpleDateFormat("yyyy MMMM EE").format(date));
System.out.println(new SimpleDateFormat("EEEE MMMM yyyy").format(date));
System.out.println(date);
...输出
Wed Jan 22 11:55:18 EST 2014
22/01/2014 11:55:18 AM
22/01/2014
2014 January Wed
Wednesday January 2014
Wed Jan 22 11:55:18 EST 2014
注意第一个和最后一个值如何不变。 Date
没有格式的内部概念,这是格式化程序的责任。
例如,如果我使用String
值22/01/2014
并使用Date
将其解析回SimpleDateFormat
Date date = new SimpleDateFormat("dd/MM/yyyy").parse("22/01/2014");
然后输出date
值...
System.out.println(date);
它会输出类似......
的内容Wed Jan 22 00:00:00 EST 2014
格式丢失了。它需要使用适当的格式化程序来更改显示的内容