Bash 需要确定日光节约时间

Bash 需要确定日光节约时间,bash,shell,dst,Bash,Shell,Dst,我有一个shell脚本。在11月夏时制期间,对于重复两次的凌晨1:30时间,我是否能够区分两个大纪元时间?。我想在第二个历元时间(第二次是凌晨1:30重复)调用java程序,所以我需要确定它是第一次还是第二次。我如何确定它是否是第二个凌晨1:30的凌晨1:30?(或大纪元时间)定义为 自协调世界时(UTC)1970年1月1日星期四00:00:00以来经过的秒数 由于在UTC时间内未观察到DST变化,您将注意到在历元时间内没有间断 例如,如果第一个02:30+02:00(DST之前)在历元中是15

我有一个shell脚本。在11月夏时制期间,对于重复两次的凌晨1:30时间,我是否能够区分两个大纪元时间?。我想在第二个历元时间(第二次是凌晨1:30重复)调用java程序,所以我需要确定它是第一次还是第二次。我如何确定它是否是第二个凌晨1:30的凌晨1:30?

(或大纪元时间)定义为

自协调世界时(UTC)1970年1月1日星期四00:00:00以来经过的秒数

由于在UTC时间内未观察到DST变化,您将注意到在历元时间内没有间断

例如,如果第一个
02:30+02:00
(DST之前)在历元中是
1508900000
,则第二个
02:30+01:00
(DST之后)将是
1508900000+3600=1508903600
(或历元时间)定义为

自协调世界时(UTC)1970年1月1日星期四00:00:00以来经过的秒数

由于在UTC时间内未观察到DST变化,您将注意到在历元时间内没有间断


例如,如果第一个
02:30+02:00
(DST之前)在epoch中是
1508900000
,第二个
02:30+01:00
(DST之后)将是
1508900000+3600=1508903600
,我错误地提到我的脚本使用了epoch时间。我的脚本使用的是date函数,我认为它会根据服务器时区(ET)返回秒数。如何区分这两个值秒数?只需使用“date+%s”,它将以纪元时间(UTC)为单位提供日期时间。如果计算第一和第二时刻的确切纪元时间,您将能够区分它们,因为它们是两个不同的值(相隔3600秒)。你能告诉我第一个时刻的确切日期和时间吗?所以,如果我只使用“日期+%s”,11月5日第一个1.30和第二个1:30的“秒”将是不同的历元吗??那么TZ fix提供了什么?是的,将会有所不同。如果您在系统/环境中设置时区,“日期”将知道如何将本地时间转换为UTC。我错误地提到我的脚本使用的是纪元时间。我的脚本使用的是date函数,我认为它会根据服务器时区(ET)返回秒数。如何区分这两个值秒数?只需使用“date+%s”,它将以纪元时间(UTC)为单位提供日期时间。如果计算第一和第二时刻的确切纪元时间,您将能够区分它们,因为它们是两个不同的值(相隔3600秒)。你能告诉我第一个时刻的确切日期和时间吗?所以,如果我只使用“日期+%s”,11月5日第一个1.30和第二个1:30的“秒”将是不同的历元吗??那么TZ fix提供了什么?是的,将会有所不同。如果在系统/环境中设置时区,“日期”将知道如何将本地时间转换为UTC。Java提供了业界领先的Java.time类,用于执行日期时间工作,包括优雅地处理夏时制(DST)等异常情况。Java提供了优秀的Executor框架,其中包含
ScheduledExecutorService
等类来调度要运行的代码。因此,我想让Java应用程序来完成这项工作,而不是使用bash shell。Java提供了业界领先的Java.time类来完成日期时间工作,包括优雅地处理夏时制(DST)等异常情况。Java提供了优秀的Executor框架,其中包含
ScheduledExecutorService
等类来调度要运行的代码。因此,我会让Java应用程序来完成这项工作,而不是使用bash shell。