【发布时间】:2012-06-12 12:52:31
【问题描述】:
我得到一个像“2012-07-01T06:00 +02:00”这样的字符串作为输入。它在 CET 中。 但是这个字符串应该是“2012-07-01T06:00 +01:00”。
我们无法更改原始来源的任何内容。
现在我想将该日期作为我的系统预期的“2012-07-01T06:00 +01:00”。
我正在使用 Joda 库。 我阅读了将 DateTimeZone 指定为德国的日期。
在此日期,一旦我将 Europe/London 指定为 DateTimeZone,日期将变为 “2012-07-01T05:00 +01:00”(这不是我的系统的预期值,请参阅小时变化)。
有没有办法不使用字符串操作?
【问题讨论】:
-
字符串来自哪里 - 从你的 2 个例子中 - 服务器可能有错误的时间
-
字符串的来源也在做字符串操作,他们设置错了。不幸的是,这不能立即解决,因为在接触它之前必须对副作用进行研究。它是一个通用模块。
-
这正是它应该做的,与 gmt 相比,cet 是 +1。如果您不信任它,为什么还要费心从您的来源获取时间?
-
Joda 正在按预期工作。我对此毫无疑问。我只是想至少检查一下我是否可以在我的应用程序中以正确的方式做到这一点(而不是添加一层丑陋的字符串操作)
-
“我是否能以正确的方式做到这一点”您到底想做什么...将 DateTime 的时间和日期更改为其他内容?
标签: java datetime date jodatime datetimeoffset