这个问题似乎是由这里介绍的moment().toISOString()引起的:
http://momentjs.com/docs/#/displaying/as -iso-string/
时刻().toISOString();
如果我这样做,我可能会但在控制台中:
n = moment.utc(new Date('2013-07-18T00:00:00+01:00'))
它将返回:
Thu Jul 18 2013 00:00:00 GMT+0100 (GMT Daylight Time)
现在,如果我调用toISOString( ) ,日期会突然变成 17 日:
n.toISOString()
以上将返回第 17 个而不是第 18 个:
"2013-07-17T23:00:00.000Z"
如您所见, toISOString
始终以 UTC 显示时间(除了以特定方式显示之外)。
@ichernev ,我不完全明白你的意思? 以特定方式显示是不是意味着我17号通过,我应该得到18号? 我如何在 18 日通过并回到 18 日? 谢谢。
那可能对你有用:
> moment().format('YYYY-MM-DD[T]HH:mm:ss.SSSZZ')
'2013-07-23T14:54:20.176-0700'
或者
> moment().format('YYYY-MM-DD[T]HH:mm:ss.SSS')
'2013-07-23T14:54:20.176'
如果你不关心时区,只想显示时间。
@ichernev ,非常感谢。
您可以使用 toISOString 的 keepOffset 参数:
toISOString(keepOffset?: boolean): 字符串;
=>
时刻()。toISOString(真)
最有用的评论
那可能对你有用:
或者
如果你不关心时区,只想显示时间。