例如:
var date = new Date();
日期是否与用户本地时区相关?
答案 0 :(得分:11)
是的,实际上它与用户自己的计算机时间相同。它不从服务器或任何东西获取信息,而是从用户自己的计算机获取信息。
答案 1 :(得分:2)
“表达式new Date()以内部格式返回当前时间,作为一个对象,包含自UTC 1970年以来经过的毫秒数。所以时区问题不适用。如果你的话,它们会变得很重要将时间转换为字符串。“
是的, 新的Date() 表达式返回的时间不会考虑时区问题,只有当它被转换为字符串时才会出现。
> d = new Date()
Thu Feb 07 2013 11:48:47 GMT-0200 (BRST)
我的时区是GMT-0200。
> d.toISOString().substr(0,19)
'2013-02-07T13:48:47'
我们可以看到,返回的时间不考虑时区。
在内部考虑时区:
> d = new Date()
Thu Feb 07 2013 11:51:49 GMT-0200 (BRST)
> d = d - (d.getTimezoneOffset() * 60000)
1360237909163
> d = new Date(d)
Thu Feb 07 2013 09:51:49 GMT-0200 (BRST)
> d.toISOString().substr(0,19)
'2013-02-07T11:51:49'
现在时间调整到我的时区。
我在相机监控软件中遇到严重问题,可以节省录音。我的时区如何是GMT-0200,在22:00之后将录音文件放在文件夹后的第二天。我使用 新的Date() 表达式来获取保存记录的日期文件夹名称。
答案 2 :(得分:1)
表达式new Date()
以内部格式返回当前时间,作为一个对象,包含自UTC 1970年以来经过的毫秒数。所以时区问题不适用。如果将时间转换为字符串,它们就会变得很重要。
实际上,获得的值当然是基于客户端计算机时钟的近似值。它可能会或可能不会与提供相当准确时间的外部时间服务器同步,但它仍然是“客户端时间”的问题,与www服务器上的时间相反。