美文网首页程序员
JS如何优雅的判断闰年

JS如何优雅的判断闰年

作者: Jiwenjie | 来源:发表于2020-05-13 14:21 被阅读0次

对于js中的Date对象,我们new Date()后做的最多的操作就是getTime()、getFullYear()、getMonth()、getSecond(),在实际开发中几乎很少会用到getDate()这个方法,因为应用场景太少了。在工作中我们经常会需要判断某个年份是否是闰年这个需求,以前我们都是使用一套公式算出来的,这个方法比较麻烦,并且公式还记不住。getDate()方法就是我们的福音,用它可以很方便的实现判断闰年的需求!

1.1、getDate()方法的使用

new Date()方法可以传递3个参数,如:new Date(年,月,数字);

1、new Date()第三个参数为0或为负数

/* 28,表示获取2018年2月份的最后一天,即获取2018年2月份的倒数第一天。*/
new Date(2018,2,0); // 28
new Date(2018,2,-1); // 27
new Date(2018,2,-2); // 26
new Date(2018,4,0); // 30
new Date(2020,2,0); // 29

1.2、new Date()第三个参数为正数
当第三个参数为正数时表示获取该数字在(月份+1)中的第几天,如果数字大于(月份+1)的最大天数,则月份往下再加1,然后再进行计算。

/* 25,表示获取2018年4月份25日在当月中的序号 */
new Date(2018,3,25); // 25
/* 1,因为4月份没有31号,因此月份再加1,序号变为31-30(30为4月份最大天数),即获取的是5月份1号在5月份中的序号 */
new Date(2108,3,31); // 1
new Date(2108,3,32); // 2

2、判断年份是否是闰年

2.1、使用getDate()方法判断年份是否为闰年


/* 当new Date()第三个参数为0时可以获取2018年2月份的最后一天,如果2月份的最后一天是29,那么该年就是闰年 */
var days = new Date(2018,2,0); // 28
if(days == 29){
    console.log("2018年是闰年");
}else{
    console.log("2018年不是闰年");
}

2.2、使用公式计算是否是闰年

var year = new Date().getFullYear();
if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)){
    console.log(year + "年是闰年");
}else{
    console.log(year + "年不是闰年");
}

相关文章

  • JS如何优雅的判断闰年

    对于js中的Date对象,我们new Date()后做的最多的操作就是getTime()、getFullYear(...

  • 每日一算法之闰年判断

    闰年 如何判断闰年Java语言实现

  • Java案例-判断给定年份是闰年

    Java案例-判断给定年份是闰年 案例描述 编写程序,判断给定的某个年份是否是闰年。 闰年的判断规则如下: (...

  • 判断闰年

    能被4整除但不能被100整除或者能被400整除

  • 闰年判断

    闰年判断 问题描述给定一个年份,判断这一年是不是闰年。当以下情况之一满足时,这一年是闰年: 年份是4的倍数而不是1...

  • 闰年判断

    闰年中2月29天 判断公式 同时满足三个条件:①能被4整除②不能被3200整除③能被400整除 或者 不能被100整除

  • 闰年的判断

  • 闰年的判断

    下午听到两个开发同学,讨论闰年的判断条件,争执了不下15分钟…… 我坐在对面,对这道题的第一印象是上次招行的笔试题...

  • js 中如何优雅写if判断

    相信下面的代码很眼熟吧 如果a的值有更多可能呢?或许可以这样写: 有没有觉得好多了? 一些状态的展现 用 swit...

  • 代码优化

    参考: 复杂判断的优雅写法简单几步让你的 JS 写得更漂亮优化 if-else 代码结构 一、复杂判断的优雅写法8...

网友评论

    本文标题:JS如何优雅的判断闰年

    本文链接:https://www.haomeiwen.com/subject/spynnhtx.html