mik*_*ana 19 javascript timezone date node.js
我的应用程序在Linux服务器上运行,其中时间(自然)设置为UTC/GMT.然而,该应用程序是在Mac桌面上开发的,其中时间通常设置为本地时区.
我可以更改new Date()我的代码中的每一个运行:
var date = new Date().getTime();
Run Code Online (Sandbox Code Playgroud)
因此确保服务器上的日期始终是GMT,但这看起来不够优雅.
我理解以前版本的节点总是返回UTC/GMT.有没有办法让这种行为回归?
编辑:已删除为每条评论的getTime()添加时区偏移量 - 因为getTime()已经是UTC.
Er.*_*wal 26
您可以使用TZnode.js的配置参数,如下所示.
对于bash(及相关)
export TZ=UTC
Run Code Online (Sandbox Code Playgroud)
对于Powershell
$env:TC = 'UTC'
Run Code Online (Sandbox Code Playgroud)
那么两个:
nodejs server/index.js
Run Code Online (Sandbox Code Playgroud)
Dan*_*Tao 10
getTime方法返回的值是自1970年1月1日00:00:00 UTC以来的毫秒数.
假设您将日期/时间存储为数字(我建议),getTime 则始终为UTC.
假设您的客户端然后从服务器请求日期.如果服务器提供的日期timestamp,这是一个数,客户端可以然后执行:
new Date(timestamp);
Run Code Online (Sandbox Code Playgroud)
它将根据客户端的当地时间进行正确调整.
当然,也许我误解了你的问题.但我只是想指出这......
new Date().getTime() + new Date().getTimezoneOffset();
Run Code Online (Sandbox Code Playgroud)
......永远不应该有意义.它采用基于UTC的时间,然后进一步抵消它,实质上是双倍抵消时间.
| 归档时间: |
|
| 查看次数: |
22588 次 |
| 最近记录: |