Chrome在Mac和Windows下,对中国标准时间(CST)和中国夏令时(CDT)的不同处理。

通过接口从后端获取时间戳,在前端用JS格式化显示。发现Chrome在Mac和Windows下,对特定的时间段(1986年至1991年),的处理方式并不相同。

查询资料后发现,原来中国也曾经使用过夏令时。

1986年至1991年,中华人民共和国在全国范围实行了六年夏令时,每年从4月中旬的第一个星期日2时整(北京时间)到9月中旬第一个星期日的凌晨2时整(北京夏令时)。除1986
年因是实行夏令时的第一年,从5月4日开始到9月14日结束外,其它年份均按规定的时段施行。1992年4月5日后不再实行。

要避免此情况可在后端对时间进行处理,返回格式化后的日期字符串。

或在前端通过getTimezoneOffset检测夏令时,尝试网上找到的夏令时检测算法。

参考资料:
时间是什么?
java中的时区陷阱
Java —— 时区(夏令时)问题
CST和GMT时间的区别
使用 JavaScript 处理夏令时
js获得当前时区夏令时发生和终止的时间
List of time zone abbreviations
tz database
Daylight saving time
Time in China
Time zone
ISO 8601