【发布时间】:2014-05-19 23:57:32
【问题描述】:
如何解析带有Joda-Time datetime 的日期字符串,它使用正确的时区和夏令时?
作为 scala 中的示例,我尝试解析字符串“2014-04-07 01:00:00.000”(没有时区信息)。这个日期来自 MySQL,应该是 tz Europe/Berlin +01:00。我喜欢的是根据 2014-04-07 00:00:00+01:00 的 joda 日期时间,这是欧洲/柏林目前不在 DST (GMT +1) 上的时区。
val fmt = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.SSS").withZone(DateTimeZone.forID("Europe/Berlin"))
val dt = fmt.parseDateTime("2014-04-07 01:00:00.000")
不幸的是,Joda-Time 将日期解析为 2014-04-07T01:00:00.000+02:00,这是当前错误的偏移量(如果是 01:00,则为 02:00)
任何想法如何让 Joda-Time 使用正确的 DST 偏移量解析日期?
【问题讨论】:
-
我生活在“欧洲/柏林”时区,可以确认实际上(在 4 月 - 也可以查看您的字符串)我们有夏令时,偏移 UTC+02:00。 JodaTime 是对的。
-
谢谢!由于我的 +0100 偏移量错误,我被 python 弄糊涂了
标签: java scala timezone jodatime datetime-format