我想将当前日期格式化为此模式dd.MM.yyy
。这时,我用:
SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
Date now = new Date();
String start = dateFormat.format(now);
我必须在很多日期做到这一点。问题是我需要格式化日期为Date
,而不是String
。
我不知道如何以简单的方式实现这一目标(格式约有150 - 200个日期)。
答案 0 :(得分:4)
SimpleDateFormat
用于将Date
转换为String
String myFormattedDate = dateFormat.format( someDate );
表示或String
到Date
Date myDate = dateFormat.parse( someString)
Date
内部只是一个很长的毫秒值,因此除非使用某种格式化程序,否则不能将其视为格式化字符串。
至于有很多日期,200需要毫秒才能处理,所以不用担心。
答案 1 :(得分:2)
然后使用dateFormat.parse(start);
SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
Date now = new Date();
System.out.println(now.toString());
String start = dateFormat.format(now);
Date after = dateFormat.parse(start);
System.out.println(after.toString());
输出:
Thu Jun 20 11:01:12 CEST 2013
Thu Jun 20 00:00:00 CEST 2013
答案 2 :(得分:0)
但是,你想要什么?你期待什么?
日期只是几毫秒,你不能格式化日期。你可以从一个字符串解析它(使用SimpleDateFormat),你可以用解析的方式(在字符串中)显示它,但在下面,你只有一个毫秒。
所以,您可以通过
SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
Date now = new Date();
System.out.println(dateFormat.format(now));
如果您只想要一个没有小时,分钟和秒的日期,那么请使用ZouZou方法。或者JodaTime。