我正在尝试创建一个需要代表这次的时间对象:29 January 2020 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
而不是欲望dvalue?
答案 0 :(得分:1)
根据the Moment.js documentation:
解析
[...]
数组
[...] 使用数组构造将在当前时区中创建一个日期。要从UTC数组创建日期,请使用moment.utc(Number [])。
因此,[2020, 0, 29, 0, 0, 0]
被解释为您的本地时区。致电utcOffset(0)
,然后将该号码移 1小时,因此您当前处于+01:00时区。
根据文档建议,使用moment.utc(Number[])
method直接在UTC时区中创建日期:
let m = moment.utc([2020, 0, 29, 0, 0, 0]);
console.log(m.format('YYYY-MM-DDTHH:mm:ssZ'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.28.0/moment.min.js"></script>