【发布时间】:2019-08-29 20:07:45
【问题描述】:
根据规范,Node JS (ES5) 在处理 Date 对象时应该使用当前的 dts 规则。当前的意思是“现在”,而不是特定日期。这并不完美,但对我来说已经足够了。
目前这些规则是错误的(由于智利的法律变化)。
简单探测:
console.log(new Date())
Mon Apr 08 2019 12:48:08 GMT-0300 (Chile Summer Time) {}
在日期的默认 toString 末尾显示“(智利夏令时间)”。实际上我们不是夏令时(两天前结束),当前偏移量应该是-4而不是-3。
我尝试将 Node 升级到最新的稳定版本,但没有成功。我不想更改大量代码(在生产中)以使用 moment.js 或等效代码。
有没有办法在现有的 Node JS 安装中更新 DST 规则?
提前致谢
-- 编辑--
TZ 环境变量为空。
在 Mac OSX (Mojave 10.14.4) 和 Red Hat (4.8.5-36) 上测试
moment.js 正确识别区域(“America/Santiago” whith moment.tz.guess())
【问题讨论】:
标签: javascript node.js date utc dst