使用SimpleDateFormat解析日期不一致

Mat*_*all 10 java date date-parsing simpledateformat

我真的在这个问题上摸不着头脑.我一直在使用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());
Run Code Online (Sandbox Code Playgroud)

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


更新:这很好地修复了它.你不知道吗,在其他一些地方也被误用了.得爱调试其他人的代码:)

Rob*_*rco 25

我想你想要使用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());
Run Code Online (Sandbox Code Playgroud)

应打印出来

2009年8月19日星期三12:00:00 EDT 2009