答案 0 :(得分:3)
toISOString()
方法始终以UTC输出时间。来自the docs:
时区始终为零UTC偏移,如后缀“ Z”所示。
在这种情况下,日期仍然是UTC的22号,但是在您所在的时区,它已经是23号。
您在此处拥有的Date
对象仍然位于您的本地时区。恰巧toISOString()
方法总是输出一个UTC表示。如果您执行以下操作,则应该看到期望的日期:
console.log(new Date().toLocaleString()) // "1/22/2019, 3:14:18 PM" for me (US Pacific Time)
答案 1 :(得分:0)
toISOString()
以ISO格式返回日期/时间,时区为UTC +0。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
答案 2 :(得分:0)
只需添加已提供的内容即可。您仍然需要注意使用Date()方法。它可以根据您提供的内容生成不同的日期。
//This outputs midnight (12:00AM) on January 22nd in the UTC timezone
new Date('2019-01-22').toISOString() // output: "2019-01-22T00:00:00.000Z"
//This outputs 5:00AM on January 22nd in the UTC timezone because my PC is in the
//Eastern Standard timezone and I used a different format for my date string.
new Date('01/22/2019').toISOString() // output: "2019-01-22T05:00:00.000Z"