【发布时间】:2016-02-13 14:16:38
【问题描述】:
我为我的 JavaScript SPA 应用程序编写了一些测试代码。我为整个 SPA 设置了语言环境,假装在世界不同地区运行它。
现在,我设置覆盖 Date() 类的 getTimezoneOffset() 函数的语言环境:
Date.prototype.getTimezoneOffset = function () { return 120 };
而且效果很好。
但是,在 SPA 的某些部分中,我正在使用 MomentJS(由于标准 DateTime 库的某些限制)。覆盖是否也会影响 MomentJS 语言环境?还是不行?
【问题讨论】:
-
这听起来不是个好主意。 Date 实例的实际时区偏移量仍然是它从主机系统获得的任何内容,但是当您尝试读取它时,您将获得 120(分钟),相当于 UTC-02:00。要获取其他时区的时间,moment.js 应该使用 UTC 方法并应用适当的偏移量,但您需要查看源以确定这一点。
-
那么我应该使用 TimeShift.js 吗?
标签: javascript datetime timezone momentjs angularjs-e2e