2
DateTimeFormatter DATEFORMAT = ISODateTimeFormat.dateTimeNoMillis();

String testDate = "2013-10-26T04:23:14-08:00";

System.out.println(testDate);
System.out.println(DATEFORMAT.parseDateTime(testDate).toString(DATEFORMAT));

输出:

2013-10-26T04:23:14-08:00
2013-10-26T05:23:14-07:00

为什么输出会延迟一个小时左右?我需要指定任何其他参数来将 DateTime 转换回 string 吗?

任何帮助深表感谢。

4

1 回答 1

0

我假设这是使用 joda-time 库。正如上面的评论所暗示的,这是一个 TZ 问题。您可以通过对 DateTime 对象的方法调用轻松地将任何时间转换为您选择的 TZ 或 UTC。类似于以下内容:

dt.withZone(DateTimeZone.UTC);

您会得到不同的结果,因为默认行为是在系统当前时区打印 DateTime。

于 2014-03-24T01:17:14.707 回答