Javasctipt取得每月最后一天

日常开发中总免不了时间的处理,上次提到一种非常普通的处理时间格式的思路及实现,这次的问题是如何取得每月最后一天。其中要考虑的情况包括大小月,二月份以及是否闰年等等,如果要写这么一个getLastDay()的方法的话估计还是得要些代码量的,但之前看过一篇博客(忘了地址)却提出了另外一种简单的做法,实现如下

实现

实现的关键是使用new Date()构造函数的特性,可以从MDN看到如下关键

MDN笔记

如果把传入的天变成0,那么就会变成上个月的最后一天,而且不用担心闰年或这二月份的影响,通通适应。举个例子,当传入 1999/3/0就会变成 1999/2/28,下面是一个封装起来的方法

//传入年和月,返回该月的最后一天
function getLastDay(year, month) {
    var pMonth = parseInt(month + 1, 10);
    var date = new Date(year, month, 0);
    return date.getDate();
}

兼容性

经过测试(firefox和chrome),某个chrome版本会出现问题,但最新版的chrome不会

你可能感兴趣的:(Javasctipt取得每月最后一天)