使用SimpleDateFormat的日期解析不一致
我真的很head头。我使用SimpleDateFormat
s已有一段时间了,但现在,使用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