Javascript momentjs——为什么是矩([2020,0,29,0,0,0])。utcOffset(0);显示为';2020-01-28 23:00.00+;00:00';?
我正在尝试创建一个需要表示此时间的时间对象:Javascript momentjs——为什么是矩([2020,0,29,0,0,0])。utcOffset(0);显示为';2020-01-28 23:00.00+;00:00';?,javascript,date,time,timezone,momentjs,Javascript,Date,Time,Timezone,Momentjs,我正在尝试创建一个需要表示此时间的时间对象:2020年1月29日00:00:00 在我的项目中,我需要在没有时区的情况下工作,因此我创建了我的力矩对象,如下所示: let m = moment([2020, 0, 29, 0, 0, 0]).utcOffset(0); 当我将创建的日期记录到控制台时,会发生以下情况: console.log(m.format('YYYY-MM-DDTHH:mm:ssZ'); >>> 2020-01-28T23:00.00+00:00 这是“
2020年1月29日00:00:00
在我的项目中,我需要在没有时区的情况下工作,因此我创建了我的力矩对象,如下所示:
let m = moment([2020, 0, 29, 0, 0, 0]).utcOffset(0);
当我将创建的日期记录到控制台时,会发生以下情况:
console.log(m.format('YYYY-MM-DDTHH:mm:ssZ');
>>> 2020-01-28T23:00.00+00:00
这是“00:00:00”时间的问题吗?为什么我有23:00:00
而不是期望值?根据:
作语法分析
[……]
排列
[……]
使用数组构造将在当前时区中创建日期。要从UTC的数组创建日期,请使用矩.UTC(数字[])
因此,[2020,0,29,0,0,0]
被解释为您的本地时区。然后打电话将该号码拨回一小时,因此您当前处于+01:00时区
如文档所示,使用直接在UTC时区中创建日期:
设m=moment.utc([2020,0,29,0,0,0]);
console.log(m.format('YYYY-MM-DDTHH:MM:ssZ')代码>
“使用数组构造将在当前时区中创建日期。若要在UTC使用数组创建日期,请使用矩.UTC(Number[])。”来源于此!我觉得自己很愚蠢。。。