我在格式化服务器时间方面有问题。我想服务器在中央时间。我需要格式化默认区域中的字符串2016-08-22T10:29:22
(中欧夏季时间= GMT+2)。我尝试过使用Joda-Time
库,我需要获得12:29:22,但我只设法获得了与+02:00相同的结束日期,代码如下:
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss");
DateTime dateTime = formatter.withZone(DateTimeZone.getDefault()).parseDateTime(time);
这段代码的输出是:2016-08-22T10:29:22.000+02:00
,当我尝试dateTime.getHourOfDay();
-我再次得到10。
我哪里出问题了?
发布于 2016-08-22 11:48:10
2016-08-22T10:29:22处于违约区(中欧夏季时间= GMT+2)。
在GMT+2中,10:29在GMT+2中是10:29,在GMT中是8:29,而2016-08-22T10:29:22
只是缺少时区信息。因此,要么使服务器返回时区,要么在转换之前手动添加它(即追加Z
)。
https://stackoverflow.com/questions/39078610
复制相似问题