Javascript会自动在Date类中增加年份

时间:2013-05-17 17:59:40

标签: javascript

因此,我正在开发一个Javascript日历,以反映当前月份以及上个月的最后几天以及下个月的前几天。我遇到了一个我无法理解的问题。

我有以下

var today = new Date();
var lastMonthDays =  new Date(today.getFullYear(), today.getMonth() - 1, 0).getDate();

这应该分别返回上个月的最后一天,但它给我的值31代表31天,但是,4月只有30天。所以我最好的猜测是它给了我当前几个月的天数。这不应该给我30?我已经在线查看了其他示例,从它的外观来看,我现在所拥有的应该可以正常工作。

2 个答案:

答案 0 :(得分:2)

today.getMonth()给出零索引月份。即。

Jan:0, 2月:1, 3月2日, ...

因此,您不需要-1来获取上个月

var today = new Date();
var lastMonthDays =  new Date(today.getFullYear(), today.getMonth(), 0).getDate();

答案 1 :(得分:2)

不,它给你31,因为 3月有31天。试试这个:

var lastMonthDays =  new Date(today.getFullYear(), today.getMonth(), 0).getDate();

日期字段中的0表示“本月1日前一天”。