javascript - 为什么 getDay 返回不正确的值? (javascript)

标签 javascript datetime

我尝试使用 Javascript 中 Date 对象的 getDay() 函数获取星期几。 理论上它工作正常,但有时输出会有延迟,所以如果函数应该返回“4”,它会返回“1”。

例如

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 中一样。

知道为什么会这样吗?

最佳答案

因为月份数字是从零开始的,而不是从一开始的。

new Date("2009","04","30")5 月 的 30 日创建一个 Date 对象,而不是4 月 30 日。

(它基于零的原因可能是历史性的,即它的行为与过去不同系统中的某些方法相同......)

关于javascript - 为什么 getDay 返回不正确的值? (javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/834757/

相关文章:

javascript - React JS 未捕获引用错误 : require is not defined

javascript - 使用 jquery 累积或删除小数

javascript - 什么时候在 Javascript 中使用 MVC?

java - 如何在 PLSQL/SQL 中查找存储为 varchar2 的两个日期之间的差异(以秒为单位)

c# - NodaTime 的 2 个日期之间的部分负周期

javascript - 如何使用模板和 BEM 方法来组织 javascript 表单生成器的架构?

javascript - 根据 div 大小重复图像

python - Pandas-如何获取另一列中每个对应值的行出现次数

PHP mktime() 用于 1900 年之前的日期

c# - 日期时间转换失败