因此,我正在开发一个Javascript日历,以反映当前月份以及上个月的最后几天以及下个月的前几天。我遇到了一个我无法理解的问题。
我有以下
var today = new Date();
var lastMonthDays = new Date(today.getFullYear(), today.getMonth() - 1, 0).getDate();
这应该分别返回上个月的最后一天,但它给我的值31代表31天,但是,4月只有30天。所以我最好的猜测是它给了我当前几个月的天数。这不应该给我30?我已经在线查看了其他示例,从它的外观来看,我现在所拥有的应该可以正常工作。
答案 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日前一天”。