跳到主要内容

那些 “稀奇古怪” 的问题合集

部分浏览器中 1900 年中国时区不对

在 Chrome 中,new Date(1900, 0, 1) 可以发现生成的时间时区不正确,不是 +0800 而是 +0805,而把年份切换到 1901 就变成了 +0800,在 IE 中时区确一直是 +0800。

这并不是 Chrome 的 bug,而是在 1901 年之前,中国地区所使用的时区就是 +0805,而 1901 年才修改成了 +0800。可以查看 https://www.timeanddate.com/time/zone/china/shanghai 此网站中提供的时区信息。

但是这个改动会导致一些程序问题,比如计算农历、计算天数,可能因为额外多出的几分钟导致天数错误、不精确等问题,遇到这些情况可以使用 1901 做基准时间或者做 好补位。

参考资料:https://stackoverflow.com/questions/50640010/why-is-new-date-returning-the-wrong-timezone-in-chrome

夏令时

  • 不占位隐藏字符
  • 同样展示字符 实际编码未必相同
  • 文件中转固定编码名称