今天我们是星期一,今天是我从魁北克市开始的00:51,因此我在GMT-0500(UTC-05:00)
我不知道为什么下面的代码给我2个不同的结果:
@ComponentScan(basePackages = "controller")
在MDN网站上,他们说getDay()方法根据本地时间返回指定日期的星期几,其中0代表星期日。
他们说的完全相同。getUTCDay()方法根据通用时间返回指定日期中的星期几,其中0代表星期日。
唯一的区别是一个是根据当地时间,另一个是根据世界时间...
我不确定应该验证什么以了解我尝试过in Node.js (Typescript)和在控制台Chrome DevTools (Javascript)中所做的区别
在我的计算机设置中,一周的第一天是星期日...
答案 0 :(得分:1)
new Date(
string
)
使用Date.parse()
来解析日期。
来自Date.parse()
docs:
如果没有时区偏移,则仅日期形式将被解释为UTC时间,而日期时间形式将被解释为本地时间。
因此,new Date('2019-02-18')
创建的日期将恰好是 UTC时间中的2019年2月18日午夜。
如果您所在的时区带有负偏移,则该日期实际上将是当地时间的星期日(魁北克市为GMT-0500,因此该日期为当地时间2019-02-17:19:00:00)。
因此,如果您所在的时区偏移量为负,则.getDay()
正确返回0
代表星期日,而.getUTCDay()
正确返回1
代表星期一。 / p>