在服务器上,执行
date
# 返回的时间戳的时区是 CST,如:Fri May 24 14:07:12 CST 2019
在 NodeJS 里执行
new Date() //返回的时间比上面获取的时间慢几个小时(说明时区不一样)
由于 用 PM2 管理进程,而 PM2 是基于 JS 写的,导致设置 cron 的任务时间都有问题。
想知道 JS 获取到的时间是根据上面时区的,难道不是随系统的吗?
在服务器上,执行
date
# 返回的时间戳的时区是 CST,如:Fri May 24 14:07:12 CST 2019
在 NodeJS 里执行
new Date() //返回的时间比上面获取的时间慢几个小时(说明时区不一样)
由于 用 PM2 管理进程,而 PM2 是基于 JS 写的,导致设置 cron 的任务时间都有问题。
想知道 JS 获取到的时间是根据上面时区的,难道不是随系统的吗?
|
blankmeMay 24, 2019 via Android
1
默认输出 utc 吧,这样不会引起混淆
|
|
behangaMay 24, 2019
3
NodeJs 内部使用 ICU 进行时间格式化
|
|
zhuisuiMay 24, 2019
4
|
|
zhuisuiMay 25, 2019
6
@nyse 只说你的服务器
date 打印出来的 CST 是 China Standard Time TZ=Asia/Shanghai date 北京时间 TZ=CST date (这里的 CST 是 Central Standard Time ) CST 时间 然后看 node 里 new Date().getTimezoneOffset() 的结果是不是 -480 |
|
7
@zhuisui
看了一下,date +"%Z %z" 出来的时区是 CST +0800, 但是 node 里 new Date().getTimezoneOffset() 的结果是 240 我也觉得好奇怪。 |