我希望在 JS 中创建一个新的日期,但将其转换为 UTC 时间。例如,假设 castAsUTC()
产生以下所需效果:
var x = new Date('2019-01-01T00:00:00') // In local time (PST)
castAsUTC(x).toISOString(); // => '2019-01-01T00:00:00Z'
// x.toISOString() gives us '2019-01-01T08:00:00Z', which is undesired
目前,我的函数如下所示:
function castAsUTC(date) {
return new Date(x.toLocaleString() + '+00:00');
}
有没有更干净/更好的方法来产生相同的效果?提前致谢!
编辑:更具体地说,我有兴趣转换日期的时区,而不用尽可能少的算术来改变其实际值。因此调用 .toISOString()
将生成与本地时间相同的日期。
我目前正在使用 moment-timezone
库,但我似乎也无法使用它获得所需的效果。我肯定会接受使用 Moment.js 的答案
最佳答案
您可以使用 utc
function 将 Moment 实例切换为 UTC 。然后只需使用 format
即可获取您想要的任何特定输出。
关于javascript - 在 Javascript 中转换 UTC 日期的替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55108345/