解释javascripts Date()函数

Ben*_*Ben 5 javascript date

为什么我有

var dt = new Date(2015, 6, 1);
dt.toUTCString()
Run Code Online (Sandbox Code Playgroud)

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

var dt = new Date(2015, 6, 2);
dt.toUTCString()
Run Code Online (Sandbox Code Playgroud)

Wed, 01 Jul 2015 23:00:00 GMT

我显然在这里遗漏了一些东西,我希望能够遍历每个月的每一天,并Date()在那一天得到一个

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

Ami*_*mit 3

JavaScript 日期始终使用本地时区生成。使用将toUTCStringDate 对象中的时间转换为 UTC 时间,显然在您的情况下这意味着 -1 小时。如果要使用 UTC 时间初始化 Date 对象,请使用:

var dt = new Date(Date.UTC(2015, 6, 1));
Run Code Online (Sandbox Code Playgroud)