javascript的`new Date()`使用了什么系统调用?
我的服务器的/etc/localtime
是格林尼治标准时间,所以我通过将其链接到不同的时区文件,将其更改回CST。
改变之后,当我在bash中键入date
时,它以CST格式表示正确的时间。
但是,当我使用node.js运行serverside javascript程序时,它仍然在GMT时区中显示时间。
console.log(new Date());
我必须重新启动服务器吗? JavaScript(V8)在new Date()
使用了什么系统调用?
我必须重新编译node.js?
我会感谢你的帮助。
注意
我意识到,getHours()和getMinutes()将返回本地时间的小时和分钟。 只是new Date()
将始终以GMT格式返回date格式。 因此,只需使用getHours()和getMinutes()方法获取本地date格式的时间。
var p = new Date(); // in GMT p.getHours(); // in hours in local timezone (CST) p.getMinutes(); // in minutes in local timezone (CST)
所以,你不需要做任何设置和计算任何东西。
你必须重新启动程序才能注意到新的时区,如果你还没有尝试过。 时区也可以用envvariables覆盖,所以请检查这些variables。