格式化日期不是字符串

时间:2013-06-20 08:57:37

标签: java date simpledateformat

我想将当前日期格式化为此模式dd.MM.yyy。这时,我用:

SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
Date now = new Date();
String start = dateFormat.format(now);

我必须在很多日期做到这一点。问题是我需要格式化日期为Date,而不是String

我不知道如何以简单的方式实现这一目标(格式约有150 - 200个日期)。

3 个答案:

答案 0 :(得分:4)

SimpleDateFormat用于将Date转换为String

String myFormattedDate = dateFormat.format( someDate );

表示或StringDate

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),你可以用解析的方式(在字符串中)显示它,但在下面,你只有一个毫秒。
所以,您可以通过

获得20.06.2013
    SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
    Date now = new Date();
    System.out.println(dateFormat.format(now));

如果您只想要一个没有小时,分钟和秒的日期,那么请使用ZouZou方法。或者JodaTime。