资讯专栏INFORMATION COLUMN

getDate方法的妙用(js判断闰年)

Donald / 2277人阅读

摘要:方法就是我们的福音,用它可以很方便的实现判断闰年的需求方法的使用方法可以传递个参数,如年月数字第三个参数为或为负数,表示获取年月份的最后一天,即获取年月份的倒数第一天。

对于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 + "年不是闰年");
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/100637.html

相关文章

  • getDate方法妙用(js判断闰年)

    摘要:方法就是我们的福音,用它可以很方便的实现判断闰年的需求方法的使用方法可以传递个参数,如年月数字第三个参数为或为负数,表示获取年月份的最后一天,即获取年月份的倒数第一天。 对于js中的Date对象,我们new Date()后做的最多的操作就是getTime()、getFullYear()、getMonth()、getSecond(),在实际开发中几乎很少会用到getDate()这个方法,...

    blankyao 评论0 收藏0
  • Date对象常用封装方法及遇到

    摘要:使用中的对象已经很久了但是一直以来都没有将常用的封装函数和遇到的坑记录下来趁着今天有空就记录下来方便自己下次直接使用并提醒自己遇到过那些坑。利用设置日期时从设置当设置为时即上个月的最后一天参考 使用JS中的Date对象已经很久了,但是一直以来都没有将常用的封装函数和遇到的坑记录下来,趁着今天有空,就记录下来,方便自己下次直接使用,并提醒自己遇到过那些坑。如果有哪些地方不对,希望大家能够...

    taowen 评论0 收藏0
  • 判断是否是闰年

    摘要:是闰年不是闰年我发现如果该年不是闰年返回的不是也不回报错而是返回他会帮你转变成月日直接可以快速判断该年是不是闰年了哈哈 function isLeapYear(year){ let date = new Date(year + -02-29); if(date.getDate() == 29){ ...

    ityouknow 评论0 收藏0
  • Date扩展-格式化 日期操作(持续更新)

    摘要:中有很多非常好用的日期操作库,如但是平常的项目用的的方法有限,未免有些冗余,特提取出比较常用的一些方法有些人可能会觉得的方式在方法的扩展中更实用些,确实如此。 github中有很多非常好用的日期操作库,如moment.js;但是平常的项目用的的方法有限,未免有些冗余,特提取出比较常用的一些方法 有些人可能会觉得Date.prototype.的方式在方法的扩展中更实用些,确实如此。本中都...

    stormjun 评论0 收藏0
  • 小白成长日记:写个日历

    摘要:一周有天,返回的数,如果上月最后一天是星期二,看下的日历是补了三天,我们得到的是,所以为此,之后就是填充最后一天,用处理一下再排序,上一个月的数据就得到了。 每天进步一点点。写个简单的小日历,依旧用vue,方便 完成图 showImg(https://segmentfault.com/img/bVZoWs?w=416&h=495); 思路 本月的天数 截取上月的天数 截取下月天数 今...

    muzhuyu 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<