我有以下代码
dateTimeFormat = ISODateTimeFormat.dateTimeNoMillis()
我使用下面的日期时间格式
public static String print(Date value) {
return dateTimeFormat.print(value.getTime());
}
现在我遇到了问题,在我的打印方法中,我在 dateTimeFormat.print(value.getTime()); 之后放置了许多具有 + 4 小时时间的日期实例。我得到的时间为 +3 小时,但所有日期实例之一变为 +4 小时,这对我来说是错误。
在所有日期实例中都具有相同的时区欧洲/莫斯科
我的情况可能出了什么问题?
最佳答案
In all date instances has the same time zone Europe/Moscow
Date
实例没有有时区 - 它只是时间上的一个瞬间。但是您可能应该为格式化程序指定时区,例如
dateTimeFormat = ISODateTimeFormat
.dateTimeNoMillis()
.withZoneUTC();
如果您想要一个确实了解时区的值,则应使用DateTime
而不是Date
。
关于java - Joda Time ,DateTimeFormatter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29801310/