【发布时间】:2012-01-31 09:31:16
【问题描述】:
我有一个 ISO 8601 日期,可以说:2012-01-19T19:00-05:00
我的机器时区是GMT+1
我正在尝试使用 joda 对其进行解析并将其转换为相应的 GMT 日期和时间:
DateTimeFormatter simpleDateISOFormat = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mmZZ");
creationDate = simpleDateISOFormat.withZone(DateTimeZone.UTC)
.parseDateTime(date + "T" + time)
.toDate();
现在我期待的结果是Fri Jan 20 00:00:00 CET 2012
相反,我得到的是:Fri Jan 20 01:00:00 CET 2012
我相信这是因为我在GMT + 1 时区。
有没有办法将日期伪装成不同的时区?
编辑:基本上问题出在我调用toDate() 方法时。该方法将DateTime 转换为Date,这是我需要做的,但我在当地时间进行了转换。
有人知道没有这种限制的转换方法吗?
【问题讨论】: