Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript unix时间戳和ISO时间之间的关系。为什么它们不平等?_Javascript_Momentjs - Fatal编程技术网

Javascript unix时间戳和ISO时间之间的关系。为什么它们不平等?

Javascript unix时间戳和ISO时间之间的关系。为什么它们不平等?,javascript,momentjs,Javascript,Momentjs,我正在尝试获取2018年1月1日的时间戳 moment("01-01-2018","MM-DD-YYYY").unix() 从上面的语句中可以看出,1514745000。但当我尝试将其转换为ISOString时: moment.unix(1514745000).toISOString() 它可以归结为:2017-12-31T18:30:00.000Z 为什么会这样?为什么不等于2018-01-01T00:00:00.000Z 默认情况下,力矩以本地时间解析和显示 默认情况下,矩使用本地时间,

我正在尝试获取2018年1月1日的时间戳

moment("01-01-2018","MM-DD-YYYY").unix()
从上面的语句中可以看出,
1514745000
。但当我尝试将其转换为
ISOString
时:

moment.unix(1514745000).toISOString()
它可以归结为:
2017-12-31T18:30:00.000Z

为什么会这样?为什么不等于
2018-01-01T00:00:00.000Z

默认情况下,力矩以本地时间解析和显示

默认情况下,矩使用本地时间,而输出为UTC:

请注意,
.toISOString()
返回UTC时间戳,即使该时刻处于本地模式

如果要将
“01-01-2018”
解析为UTC格式,请使用

以下示例显示本地模式和UTC模式下解析的输出差异:

//当地时间2018年1月1日:1514761200(UTC+01:00)
console.log(瞬间(“01-01-2018”,“MM-DD-YYYY”).unix()
//UTC 01-01-2018:1514764800
console.log(矩.utc(“01-01-2018”,“MM-DD-YYYY”).unix())

那么生成的时间戳也必须是UTC?我已经编辑了我的答案,添加了一个片段和一些链接,现在请告诉我是否更清晰。