Javascript,getDay()返回错误的数字

时间:2014-06-16 19:13:48

标签: javascript date

首先,我知道javascript中的星期几从0开始,星期日= 0,星期六= 6。

但是,我在这里缺少一些简单的东西,但是下面的代码总是返回我想要的东西,但是少了1个。

这应该返回6,但返回5.

var string = "2014-06-21";
var temp = new Date(string);
alert(temp.getDay());

任何人都有任何想法出错,以及如何解决?感谢。

2 个答案:

答案 0 :(得分:4)

如果您从字符串创建日期,请务必指定时间:

var string = "2014-06-21 00:00:00";
var temp = new Date(string);
alert(temp.getDay());

您可能在前一天得到了,因为您没有指定时间(在日期字符串中)。在这种情况下,将使用您当前的时区(我的是GMT-03h)

另一种选择是使用Date构造函数创建日期,该构造函数将数字作为参数:

new Date(year,month,day);

或者,在您的情况下:

var temp = new Date(2014, 6, 21);
alert(temp.getDay());

答案 1 :(得分:0)

如果您没有在字符串中指定时间,则默认为您当前的时区。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse