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

news/2024/7/5 5:42:57

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

http://www.niftyadmin.cn/n/4821466.html

相关文章

阿里云服务器的一点小坑---端口不通问题,还是防火墙的锅

https://www.cnblogs.com/grey-wolf/p/8961581.html 一、问题概述 最近在组长支持下,一直在折腾jenkins,也推广到了两三个组。期间也加了jenkins相关的qq群,群里的一个哥们问题很奇怪: centos 7.4 64位,使用了如下链接…

存储过程用到的表、分组、排序、联结

查询存储过程用到的表,并进行分组、排序、联结: 1 SELECT 2 REFERENCED_OWNER,3 REFERENCED_NAME,4 LISTAGG(XH||>||NAME,,) WITHIN GROUP(ORDER BY XH ) NAME 5 FROM 6 ( 7 SELECT 8 A.REFERENCED_OWNER…

springboot和redis处理页面缓存

页面缓存是应对高并发的一个比较常见的方案,当请求页面的时候,会先查询redis缓存中是否存在,若存在则直接从缓存中返回页面,否则会通过代码逻辑去渲染页面,并将渲染后的页面缓存到redis中,然后返回。下面通…

Ribbon 框架简介及搭建

Ribbon简介1. 负载均衡框架,支持可插拔式的负载均衡规则2. 支持多种协议,如HTTP、UDP等3. 提供负载均衡客户端Ribbon子模块1. ribbon-core(ribbon的核心,主要包含负载均衡器、负载均衡接口、客户端接口、内置负载均衡实现API&…

硬盘分区表详解

硬盘主引导扇区 硬盘主引导记录(MBR) 硬盘分区表(DPT) -------------------------------------------------------------- 物理位置:0面0道1扇区(clindyer 0, side 0, sector 1) 大小: 512字节…

(原創) 數學就是loose coupling的極致表現 (OO)

Abstract我們已經在STL中看到loose coupling的威力了,但我今天發現,數學更是loose coupling最佳的詮釋。Introduction從小學到大學,哪些科目用處最大?英文和數學,英文不難理解,因為他是語言,任何知識都以英…

Visual Studio 2010 and the .NET Framework 4.0!

下一站:Visual Studio 2010 和 .NET Framework 4.0 REDMOND, Wash. — Sept. 29, 2008 — Microsoft Corp. today provided the first look at the next version of its developer tools and platform, which will be named Visual Studio 2010 and the .NET Framework 4.0. M…

CentOS基本的命令与快捷建

由于我的计算机在安装linux系统时,计算机出现了问题,并没有安装ubuntu而是安装的centos。虽然两者属于linux的不同版本,但是在具体的操作上大同小异。在学习linux的各种指令和快捷键的时候,难免会遇到各种各样的问题,以…