Moment.js 无法使用外部 javascript 文件
Moment.js not working with external javascript file
下面描述的错误在此处重现:https://jsfiddle.net/cxhvr3Lq/
我正在使用 jQuery、bootstrap、时刻和我自己的 javascript 文件 myjs.js。我创建了一个最小示例,其中我的自定义 javascript 不起作用。 myjs.js中的代码是:
function adjust_times_user_time_zone() {
console.log(moment.tz("2015-08-05T00:00:00+01:00", "Europe/London"));
};
$(document).ready(function () {
adjust_times_user_time_zone();
});
但这会引发以下错误,我无法理解。
jquery.min.js:2 jQuery.Deferred exception: Cannot read property 'apply' of undefined TypeError: Cannot read property 'apply' of undefined
at h.utcOffset (https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.33/moment-timezone-with-data.js:664:15)
at Function.moment.updateOffset (https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.33/moment-timezone-with-data.js:623:9)
at h.fn.tz (https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.33/moment-timezone-with-data.js:638:12)
at Function.tz (https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.33/moment-timezone-with-data.js:568:7)
at adjust_times_user_time_zone (file:///Users/js/myjs.js:37:24)
at HTMLDocument.<anonymous> (file:///Users/js/myjs.js:41:5)
at e (https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js:2:30005)
at t (https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js:2:30307) undefined
jquery.min.js:2 Uncaught TypeError: Cannot read property 'apply' of undefined
at h.utcOffset (moment-timezone-with-data.js:664)
at Function.moment.updateOffset (moment-timezone-with-data.js:623)
at h.fn.tz (moment-timezone-with-data.js:638)
at Function.tz (moment-timezone-with-data.js:568)
at adjust_times_user_time_zone (myjs.js:37)
at HTMLDocument.<anonymous> (myjs.js:41)
at e (jquery.min.js:2)
at t (jquery.min.js:2)
我正在依次加载 jquery、bootstrap、moment 和 myjs。知道哪里出了问题吗?
moment 的版本需要至少为 2.9.0。来自文档:
To use moment-timezone, you will need moment@2.9.0+, moment-timezone.js, and the moment-timezone data.
https://momentjs.com/timezone/docs/
这是一个有效的 fiddle:https://jsfiddle.net/75oLy36p/
下面描述的错误在此处重现:https://jsfiddle.net/cxhvr3Lq/
我正在使用 jQuery、bootstrap、时刻和我自己的 javascript 文件 myjs.js。我创建了一个最小示例,其中我的自定义 javascript 不起作用。 myjs.js中的代码是:
function adjust_times_user_time_zone() {
console.log(moment.tz("2015-08-05T00:00:00+01:00", "Europe/London"));
};
$(document).ready(function () {
adjust_times_user_time_zone();
});
但这会引发以下错误,我无法理解。
jquery.min.js:2 jQuery.Deferred exception: Cannot read property 'apply' of undefined TypeError: Cannot read property 'apply' of undefined
at h.utcOffset (https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.33/moment-timezone-with-data.js:664:15)
at Function.moment.updateOffset (https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.33/moment-timezone-with-data.js:623:9)
at h.fn.tz (https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.33/moment-timezone-with-data.js:638:12)
at Function.tz (https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.33/moment-timezone-with-data.js:568:7)
at adjust_times_user_time_zone (file:///Users/js/myjs.js:37:24)
at HTMLDocument.<anonymous> (file:///Users/js/myjs.js:41:5)
at e (https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js:2:30005)
at t (https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js:2:30307) undefined
jquery.min.js:2 Uncaught TypeError: Cannot read property 'apply' of undefined
at h.utcOffset (moment-timezone-with-data.js:664)
at Function.moment.updateOffset (moment-timezone-with-data.js:623)
at h.fn.tz (moment-timezone-with-data.js:638)
at Function.tz (moment-timezone-with-data.js:568)
at adjust_times_user_time_zone (myjs.js:37)
at HTMLDocument.<anonymous> (myjs.js:41)
at e (jquery.min.js:2)
at t (jquery.min.js:2)
我正在依次加载 jquery、bootstrap、moment 和 myjs。知道哪里出了问题吗?
moment 的版本需要至少为 2.9.0。来自文档:
To use moment-timezone, you will need moment@2.9.0+, moment-timezone.js, and the moment-timezone data.
https://momentjs.com/timezone/docs/
这是一个有效的 fiddle:https://jsfiddle.net/75oLy36p/