一尘不染

SimpleDateFormat 24小时

java

我有一个SimpleDateFormat将a解析StringDate

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

当我解析这个:

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

结果将是,当使用时Date.toLocaleString

8月29日 2011 00:44:00

当然,这应该是:

8月29日 2011 12:44:00

当我解析这个:

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

然后结果如预期的那样:

8月29日 2011 13:44:00

我怎样才能解决这个问题?


阅读 230

收藏
2020-12-03

共1个答案

一尘不染

使用HH代替hh小时模式

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
2020-12-03