MomentJS在不同平台上获得不同的UNIX时间戳

时间:2017-07-20 05:07:46

标签: javascript node.js momentjs

我遇到了一些有趣的问题:

我的时间戳值为1500400800

我希望得到这个时间戳的日期和结束时间。使用moment.js我写了这段代码:

let timestamp = 1500400800;
let momentDate = moment.unix(timestamp);

let start = momentDate.startOf('day').unix();
let end = momentDate.endOf('day').unix();
console.log(timestamp + " "  + start + " " + end);

我自己的电脑返回1500400800这些值:

1500400800 1500400800 1500487199

但我托管的虚拟机器会返回:

1500400800 1500336000 1500422399

他们是不同的。两个平台之间存在六小时差异

如何使虚拟主机获取时间戳,就像我的本地PC一样?

1 个答案:

答案 0 :(得分:2)

Moment假设时间相对于本地系统的时间。您的虚拟服务器时钟不正确或位于另一个时区。您可以通过告知转换为UTC的时刻专门在UTC中工作,或者您可以查看moment-timezone,这是专为在多个时区工作而构建的时刻的扩展。