我将代码托管在本地和服务器上,距离Epoch意外地在服务器上运行的时间是毫秒。
我对new Date("07/16/2018 10:17:48").getTime()
进行了硬编码,在我的本地上,结果是1531761468000,服务器:1531736268000。服务器晚了7个小时。
我运行了date +%z
,本地:-0700,服务器:-0700
我运行了date.getTimezoneOffset()
,本地:420(转换为UTC-7),服务器:0(转换为UTC)
这种差异的原因可能是什么?我不知道如何解决它。
答案 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