首先,我知道javascript中的星期几从0开始,星期日= 0,星期六= 6。
但是,我在这里缺少一些简单的东西,但是下面的代码总是返回我想要的东西,但是少了1个。
这应该返回6,但返回5.
var string = "2014-06-21";
var temp = new Date(string);
alert(temp.getDay());
任何人都有任何想法出错,以及如何解决?感谢。
答案 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