首先,我知道 javascript 中的星期几从 0 开始,星期日 = 0,星期六 = 6。
但是,我在这里遗漏了一些简单的东西,但下面的代码总是返回我想要的,但少了 1。
这应该返回 6,但返回 5。
var string = "2014-06-21";
var temp = new Date(string);
alert(temp.getDay());
任何人都知道出了什么问题,以及如何解决?谢谢。
最佳答案
如果您从字符串创建日期,请务必指定时间:
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());
关于Javascript,getDay()返回错误的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24250558/