SimpleDateFormat的24小时

问题描述:

我有一个的SimpleDateFormat 来解析字符串日期

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ssZ");

当我解析的:

format.parse("2011-08-29T12:44:00+0200");

结果将是,在使用 Date.toLocaleString

8月29日2011 0时44分00秒

29 aug. 2011 00:44:00

这应该是ofcourse:

This should be ofcourse:

8月29日2011 12时44分00秒

29 aug. 2011 12:44:00

当我解析的:

format.parse("2011-08-29T13:44:00+0200");

那么结果与预期:

Then the result is as expected:

8月29日2011 13时44分零零秒

29 aug. 2011 13:44:00

我该如何解决这个问题?

How can I fix this?

使用 HH 而不是 HH 有关工作时间模式

Use HH instead of hh for the hours pattern:

H   Hour in day (0-23)  Number  0
k   Hour in day (1-24)  Number  24
K   Hour in am/pm (0-11)    Number  0
h   Hour in am/pm (1-12)    Number  12