Java date DST 调整我的日期/时间
Java date DST adjusts my date / time
我有一个函数可以接受 2 组日期(start date
和 end 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"));
我有一个函数可以接受 2 组日期(start date
和 end 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"));