TIM*_*MEX 9 javascript timestamp date node.js
我在控制台中输入"日期"......我得到Tue Sep 20 01:01:49 PDT 2011......这是正确的.
但是我在node.js中这样做了,我得错了.
var ts = String(Math.round(new Date().getTime() / 1000));
Run Code Online (Sandbox Code Playgroud)
输出为:1316505706,落后一小时.
@KARASZI对根本原因绝对正确:除非你操纵它们,否则Unix时间戳总是UTC.我建议如果你想要一个Unix时间戳,你应该把它留在UTC,如果你需要向用户显示一个格式化的时间,只转换为本地时间.
这样做的第一个好处是所有服务器都可以"同时"说话.例如,如果您已将服务器部署到Amazon EC2 US East和Amazon EC2 US West并且它们共享一个公共数据库,则可以在数据库和服务器上使用UTC时间戳,而无需每次都担心时区转换.这是使用UTC时间戳的一个很好的理由,但它可能不适用于您.
这样做的第二个好处是,您可以根据经过的时间来衡量事物,而不必担心夏令时(或时区,如果您正在测量正在移动的平台上的时间!).这并没有出现太多,但是如果你因为本地时间在你测量的时候"倒退"了一小时就会出现负面时间的情况,那你就会非常困惑!
我能想到的第三个原因是非常小的,但是一些性能极客会非常欣赏它:你可以通过使用Date类的"now"函数获得原始UTC时间戳,而无需每次都分配新的Date对象.
var ts = Date.now() / 1000;
Run Code Online (Sandbox Code Playgroud)
Der*_*ker -4
date在控制台中使用将返回服务器时间,而在网页上使用 JavaScript 将返回客户端的本地时间。
| 归档时间: |
|
| 查看次数: |
15634 次 |
| 最近记录: |