为什么 TimeStamp 和 KronosTimeZone 列出不同的时区偏移量?

Why do TimeStamp and KronosTimeZone list different time zone offsets?

我有一个位于 EST 时区的 Kronos Workforce Central 8.1 服务器。为了确认时区配置正确,我向服务器发送了一个 GetServerTime 请求。

<Kronos_WFC version="1.0">
    <Request Object="ServerTime" Action="GetServerTime"/>
</Kronos_WFC>

令我惊讶的是,服务器响应列出了 GMT 的两个不同时区偏移量。

<Kronos_WFC TimeStamp="5/09/2018 10:23AM GMT-04:00" version="1.0" WFCVersion="8.1.1.569">
    <Response Status="Success" Action="GetServerTime" Object="ServerTime">
        <ServerTime DateTime="5/09/2018 10:23AM" KronosTimeZone="(GMT -05:00) Eastern Time"/>
    </Response>
</Kronos_WFC>

为什么 Workforce Central 为 TimeStampKronosTimeZone 返回不同的 GMT 偏移量?

GMT 偏移 1 小时的差异是由夏令时造成的。

The DST period in the United States begins each year on the 2nd Sunday in March, when clocks are set forward by 1 hour. They are turned back again to standard time on the 1st Sunday in November as DST ends.

timeanddate.com - Daylight Savings Time in the USA

换句话说:

  • KronosTimeZone 是服务器的 时区 ,对于 EST 将始终是 GMT -05:00.
  • TimeStamp 是服务器的当前时间,由于夏令时,GMT -04:00

11 月 DST 结束时,时间戳偏移量将恢复为 GMT -05:00