服务器时间为当地时间

Server time in local time

我在格式化服务器时间时遇到问题。我猜服务器是在中央时间。我需要在默认区域(中欧夏令时 = GMT+2)中格式化以下字符串 2016-08-22T10:29:22。我尝试使用 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-22T10:29:22 in default zone (Central European Summer Time = GMT+2).

10:29在GMT+2是10:29在GMT+2和8:29在GMT,2016-08-22T10:29:22只是缺少时区信息。因此,要么使服务器 return 时区,要么在转换之前手动添加它(即附加 Z)。