Javascript 瞬间js为iso时间戳返回错误格式的值
我正在将Javascript 瞬间js为iso时间戳返回错误格式的值,javascript,momentjs,Javascript,Momentjs,我正在将“2018-01-31T22:55:02.907Z”此时间戳传递给矩()函数,但它在格式化日期部分后返回错误的值 console.log(矩(“2018-01-31T22:55:02.907Z”).格式(“YYYY-MM-DD”) 这应该返回2018-01-31,但它返回的是2018-02-01 这样的话,每一天就增加一天。我怀疑存在基于时区的问题,但我无法解决。传递时间戳时,必须使用.utc,如下所示: 如果您这样做: console.log(moment("2018-01-31").
“2018-01-31T22:55:02.907Z”
此时间戳传递给矩()
函数,但它在格式化日期部分后返回错误的值
console.log(矩(“2018-01-31T22:55:02.907Z”).格式(“YYYY-MM-DD”)代码>
这应该返回2018-01-31
,但它返回的是2018-02-01
这样的话,每一天就增加一天。我怀疑存在基于时区的问题,但我无法解决。传递时间戳时,必须使用.utc,如下所示:
如果您这样做:
console.log(moment("2018-01-31").format('YYYY-MM-DD'));
它将为您提供所需的结果,但当您像现在这样传递时间戳时,您应该做的是:
console.log(moment.utc("2018-01-31T22:55:02.907Z").format('YYYY-MM-DD'));
您还可以看到它是如何工作的:
console.log(moment({ years:2018, months:0, date:31, hours:22, minutes:55, seconds:02, milliseconds:907}).format('YYYY-MM-DD'));
要传递时间戳,您应该再次检查文档。
这也可能是一个有用的链接:
传递时间戳时必须使用.utc,如下所示:
如果您这样做:
console.log(moment("2018-01-31").format('YYYY-MM-DD'));
它将为您提供所需的结果,但当您像现在这样传递时间戳时,您应该做的是:
console.log(moment.utc("2018-01-31T22:55:02.907Z").format('YYYY-MM-DD'));
您还可以看到它是如何工作的:
console.log(moment({ years:2018, months:0, date:31, hours:22, minutes:55, seconds:02, milliseconds:907}).format('YYYY-MM-DD'));
要传递时间戳,您应该再次检查文档。
这也可能是一个有用的链接:
您必须使用:
默认情况下,力矩以本地时间解析和显示
如果要以UTC格式解析或显示某个时刻,可以使用moment.UTC()
而不是moment()
console.log(矩(“2018-01-31T22:55:02.907Z”).格式(“YYYY-MM-DD”);
console.log(矩.utc(“2018-01-31T22:55:02.907Z”).格式(“YYYY-MM-DD”)代码>
您必须使用:
默认情况下,力矩以本地时间解析和显示
如果要以UTC格式解析或显示某个时刻,可以使用moment.UTC()
而不是moment()
console.log(矩(“2018-01-31T22:55:02.907Z”).格式(“YYYY-MM-DD”);
console.log(矩.utc(“2018-01-31T22:55:02.907Z”).格式(“YYYY-MM-DD”)代码>