JavaScript快速获取月份的总天数

2017年06月10日Web前端

每次计算到日期时,我们总是纠结2月是29天还是28天,总得去计算下闰年还是平年。但是合理使用Date对象,可以非常快的计算出每个月份的总天数。

一、获取时间

当用到有关时间时,我们经常用到Date对象。比如,我们想知道现在的时刻:

var now = new Date();
console.log(now); // Sat Jun 10 2017 23:14:04 GMT+0800 (中国标准时间)
console.log(now.getDate()); // 10

getDate()函数获取当前时间是该月份的第几天。其他关于Date的属性和方法可以自行查看API得到。

二、设置时间

var now = new Date(2016, 1, 1);
console.log(now); // Mon Feb 01 2016 00:00:00 GMT+0800 (中国标准时间)
console.log(now.getDate()); // 1

我们设置了2016年2月1号这一天。

注:设置时间的方式很多,这只是比较常用的一种。

三、巧用设置

当我们设置第三个参数,也就是日,是0时。该天会变成前一个月的最后一天。所以:

var now = new Date(2017, 6, 0);
console.log(now.getDate()); // 30
var now = new Date(2017, 2, 0);
console.log(now.getDate()); // 28

这样我们就很容易的得到了2月份的总天数,其他月份的照例推。

注:月份从0开始。自测IE5+也支持。