我的输入字符串为2012-07-27
,我希望输出为 Date
,但格式与2012-07-27
DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
try {
Date today = df.parse("20-12-2005 23:59:59");
System.out.println("Today = " + df.format(today));
} catch (ParseException e) {
e.printStackTrace();
}
20-12-2005 23:59:59
但它是字符串对象我想要相同的输出(20-12-2005 23:59:59
)作为日期对象而不是字符串对象。
如何以Date
的形式获得 DD-MM-YYYY HH:MM:SS
?
答案 0 :(得分:2)
Date today
是输入date
的{{1}}对象。 Java中没有像格式化日期那样的东西。日期始终只是日期对象。您在该日期对象上执行各种操作,当您想要存储(或)显示时,只需应用String
format()
答案 1 :(得分:0)
传递给SimpleDateFormat
的格式与传递日期字符串的方式不同。您还应该使用HH
DateFormat df = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
try {
Date today = df.parse("20-12-2005 23:59:59");
System.out.println("Today = " + df.format(today));
//To Print Real Today
System.out.println("Real Today = " + df.format(new Date()));
} catch (ParseException e) {
e.printStackTrace();
}
答案 2 :(得分:0)
Date类有许多不推荐使用的方法,现在唯一正确的创建方法是通过一个很长的(详细阅读文档)。
您应该查看GregorialCalendar,您可以在其中传递一些常量字段作为属性。
如果你想从你的String中输入日期,我会做一个自定义解析器来创建一个日历或类似this的东西。
希望我帮助过:)