使用SimpleDateFormat的日期解析不一致

我真的很head头。我使用SimpleDateFormats已有一段时间了,但现在,使用SimpleDateFormat解析日期(只是有时)是完全错误的。

特别:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

Date date = sdf.parse("2009-08-19 12:00:00");

System.out.print(date.toString());

打印字符串Wed Aug 19 00:00:00 EDT 2009。有没有搞错?-它甚至都不会一直解析为错误的日期!


修复得很漂亮。您不知道吗,在其他一些地方也滥用了它。一定喜欢调试别人的代码:)

回答:

我认为您要使用HH格式,而不是’hh’,以便您使用00-23之间的小时数。“ hh”采用12小时增量的格式,因此假设它位于AM中。

所以这

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date date = sdf.parse("2009-08-19 12:00:00");

System.out.print(date.toString());

应该打印出来

2009年美国东部时间8月19日星期三12:00:00

以上是 使用SimpleDateFormat的日期解析不一致 的全部内容, 来源链接: utcz.com/qa/410725.html

回到顶部