java - Joda Time ,DateTimeFormatter

标签 java date jodatime

我有以下代码

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/

相关文章:

java - 如何在没有时区对话的情况下解析时间?

java - 最有效的基本日期验证和转换程序?

objective-c - NSDocumentDirectory 中文件的创建日期

java - 如何从 Date 对象中修剪分钟、小时和秒?

java - DateTimeFormatterBuilder 无法选择格式

java - 计时器 - 如何使用 Joda Time 计算两个日期之间的差异?

java - 如何在JAVA的action类中创建JSON对象

java - 如何在小米MIUI 8.1上的图库应用中显示图片?

java - @EventListener & IRequestCycle.getResponseBuilder.updateComponent 不更新组件

php - CakePHP:将日期验证为 'dmy',但将其保存到MySQL作为正确的日期