0

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

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

我必须在很多约会中都这样做。问题是我需要格式化的日期Date,而不是String.

我不知道,这是如何以一种简单的方式实现的(大约有 150 - 200 个日期要格式化)。

4

3 回答 3

4

SimpleDateFormat用于将 a 转换Date为 aString

String myFormattedDate = dateFormat.format( someDate );

表示或String进入Date

Date myDate = dateFormat.parse( someString)

在内部 aDate只是一个长毫秒值,因此除非您使用某种格式化程序,否则您不能将其视为格式化字符串。

至于有很多日期,处理 200 需要毫秒,所以不用担心。

于 2013-06-20T09:01:50.820 回答
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
于 2013-06-20T09:01:21.757 回答
0

但是,你想要什么?你能指望什么?
日期只是毫秒,您不能格式化日期。您可以从字符串中解析它(使用 SimpleDateFormat),您可以以解析的方式(在字符串中)显示它,但在下面,您只有一毫秒。
因此,您可以通过 20.06.2013

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

如果您只想要一个没有小时、分钟和秒的日期,请使用 ZouZou 方法。或乔达时间。

于 2013-06-20T09:13:08.897 回答