Java date DST 调整我的日期/时间

Java date DST adjusts my date / time

我有一个函数可以接受 2 组日期(start dateend date),它们将用于我的匹配引擎

我必须知道 start_date1 & end_date1 是否在 start_date2 & end_date2

里面

快进:当我在本地 运行 时,我已经有了正确的计算和实现.. 但是当我 运行 它在云端时..这就是结果

结果:

(DATETIME IN SQL)

input > **start_date1** : Apr 1, 2016  6:00am

input > **end_date1** : Apr 1, 2016 7:00pm

--

(TIMESTAMP IN SQL)

input > **start_date2** : Apr 1, 2016 6:00am

input > **end_date2** : Apr 1, 2016 6:00pm


output : true
--------------

如您所见,输出一定是错误的。我认为它正在由 DST 进行调整。 请告诉我是否有忽略或关闭 DST 的方法或忽略它的最简单方法..

顺便说一句,我正在使用 Java 7.. 谢谢!

如果您的本地时区和云时区不同,则可能会发生这种情况。确保两个时区相同。

您可以使用此命令更改时区:

TimeZone.setDefault(TimeZone.getTimeZone("yourTimeZone"));

您也可以选择不带夏令时的时区,例如"UTC" :

TimeZone.setDefault(TimeZone.getTimeZone("UTC"));