我尝试使用Javascript中getDay()
对象的Date
函数获取一周的某一天。
理论上它工作正常,但有时输出会有延迟,因此如果函数返回“4”,则返回“1”。
E.g。
var date= new Date("2009","04","30");
alert(date.getDay()); // the function returns 6, should return 4
var date= new Date("2009","05","01");
alert(date.getDay()); // the function returns 1, should return 5
我真的不知道为什么会这样。这个例子来自IE8。 FF 3表现相似,但返回不同的值。第一个是7,而不是4.第二个就像在IE8中一样。
为什么会发生这种情况?
答案 0 :(得分:19)
因为月份数是零,而不是基于月份。
new Date("2009","04","30")
为可能的第30个创建Date
个对象,而不是4月30日。
(它基于零的原因可能是历史性的,即它的行为方式与不同系统中某些方法的行为相同......)