服务器UTC时间和date.js getTimezoneOffset不同

时间:2018-07-16 18:18:22

标签: javascript date datetime timezone datejs

我将代码托管在本地和服务器上,距离Epoch意外地在服务器上运行的时间是毫秒。

我对new Date("07/16/2018 10:17:48").getTime()进行了硬编码,在我的本地上,结果是1531761468000,服务器:1531736268000。服务器晚了7个小时。

我运行了date +%z,本地:-0700,服务器:-0700

我运行了date.getTimezoneOffset(),本地:420(转换为UTC-7),服务器:0(转换为UTC)

这种差异的原因可能是什么?我不知道如何解决它。

1 个答案:

答案 0 :(得分:0)

我假设您在服务器上运行Node.js。请比较服务器和本地的process.env。

console.log(process.env);

请考虑process.env.TZ!您的节点进程将不使用date(1)调用,而是使用环境。如果确实是这个原因,则可以通过调整实际环境(通过主管或用于启动进程的任何方式)或在脚本内部启动后立即对其进行更改来解决此问题。

这篇文章应该对您有所帮助,它向您显示一些控制服务器进程环境的选项:https://medium.freecodecamp.org/heres-how-you-can-actually-use-node-environment-variables-8fdf98f53a0a