解释JavaScript的Date()函数

5
为什么当我使用

标签时,

会出现这样的问题?
var dt = new Date(2015, 6, 1);
dt.toUTCString()

我的输出结果是Tue, 30 Jun 2015 23:00:00 GMT

还有

var dt = new Date(2015, 6, 2);
dt.toUTCString()

2015年7月1日23:00:00 GMT

显然我在这里漏掉了一些东西,我想要能够循环遍历每个月的每一天并获取该天的Date()

我不明白为什么如果日期是1,它会说日期是30日


这是一个好问题,清晰、有用且确实有趣。 - bjfletcher
3个回答

3

Javascript的日期始终是使用本地时区生成的。使用toUTCString将Date对象中的时间转换为UTC时间,在您的情况下,这意味着减去了1小时。如果您想使用UTC时间初始化Date对象,请使用以下方法:

var dt = new Date(Date.UTC(2015, 6, 1));

我觉得我可能有点傻。我以为toUTCString()是查看可读日期的唯一函数,现在才意识到还有一个toDateString(),它可以显示正确的日期。 - Ben

0

toUTCString() 方法将一个 Date 对象转换为字符串,根据协调世界时。

协调世界时(UTC)是由世界时间标准确定的时间。

注意:UTC 时间与 GMT 时间相同。


0
尝试在另一个函数中更改dt.toUTCString()。 地球上有很多时区,例如在美国是5点,在日本是10点等等... UTC是一个时区,请尝试更改它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接