我可以像这样通过当前日期获取日期,这是当前的结果
const dateObject = new Date()
console.log(dateObject.getDay())
但是当我尝试不指定日期的时候,我没有得到实际的答案
const dateObject = new Date(2018, 8, 5)
console.log(dateObject.getDay())
我希望是0,因为它是一周中的星期天,但我得到了3。
我在这里是什么错或误解? 谢谢
答案 0 :(得分:4)
Date构造函数中的monthIndex
参数从零开始,因此8是 September ,而不是August。 getDay
然后正确地告诉您9月5日是星期三。
有关详情,请参见MDN:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#Parameters
在处理日期/时间值时,JS日期有很多奇怪的奇异之处,我只使用MomentJS。
答案 1 :(得分:1)
在new Date(2018, 8, 5)
中,月份从0
开始,而不是1
。因此,在您的情况下,它不是August
,而是September
。
答案 2 :(得分:1)
您错了月份索引。月份从0索引开始。
January = 0
February = 1
March = 2
April = 3
...
...
...
...
所以八月份的索引号是7。
您的答案将是这样的:
const dateObject = new Date(2018, 7, 5)
console.log(dateObject.getDay())