【发布时间】:2017-11-16 23:09:26
【问题描述】:
我对 Java 中的日期和时间库有点疯狂。基本上我需要的是获得两个字符串日期,第一个对应于澳大利亚时间的前一天(考虑到夏令时),具有特定小时(将作为参数出现)并具有以下日期格式:"yyyy-MM-dd'T'HH:mm:ss.SSS zzz" .
考虑一下,我将收到如下字符串形式的时间:"180000"。因此,如果今天是 11 月 17 日在澳大利亚,我将需要获取以下字符串:
"2017-11-16T18:00:00.000 AEDT"
我需要的第二个字符串日期与今天在 au 时间的同一天:
"2017-11-17T18:00:00.000 AEDT"
我无法使用 JDK 8,我必须使用 JDK 7。
我尝试了不同的方法,但我没有得到我需要的东西。任何建议都会很棒。
【问题讨论】:
-
前一天怎么可能是今天前两天?或者更确切地说,如果今天是 11 月 17 日,那么“今天的同一天”怎么可能是 2017 年 11 月 18 日? --- 顺便说一句:您正在寻找用于此的主要类是
ZonedDateTime。 -
@Andreas 谢谢,只是一个错字
-
顺便说一句,我无法使用 jdk8,我必须使用 jdk7
-
在这种情况下,@fabrik,我强烈建议您在 JDK 7 中使用 ThreeTen Backport。这是现代 JSR-310 日期和时间 API 到 Java 6 和 7 的向后移植。跨度>
标签: java date datetime timezone datetime-format