用js进行日期的加减
如题,开始查了查js的使用文档,但没发现可以直接用的函数,于是就想自己写函数来着,这就要涉及到每个月天数的判断,如果是2月份的话,还要涉及到闰年的判断,虽然不复杂但我想js应该不会这么低级,于是查了下资料,终于有了如下重大发现,以在某个日期上加减天数来说,其实只要调用Date对象的setDate()函数就可以了,具体方法如下:
function addDate(date,days){
var d=new Date(date);
d.setDate(d.getDate()+days);
var m=d.getMonth()+1;
return d.getFullYear()+'-'+m+'-'+d.getDate();
}
其中,date参数是要进行加减的日期,days参数是要加减的天数,如果往前算就传入负数,往后算就传入正数,如果是要进行月份的加减,就调用setMonth()和getMonth()就可以了,需要注意的是返回的月份是从0开始计算的,也就是说返回的月份要比实际月份少一个月,因此要相应的加上1。
javascript Date format(js日期格式化)
data 为起始的日期:2021-05-01
days:为要添加的天数,比如:1天
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title></title> </head> <body> <script type="text/javascript"> var endDate = (new Date("2018/072/09 14:13:11")).getTime(); //得到毫秒数 var newDate = new Date(endDate ); //得到普通的时间了 console.log(newDate) var x = '2022-7-4'; //获取申请日期 var y = '2022-7-1'; //获取请假开始日期 var cf_begin = x; cf_begin = new Date(cf_begin.replace("-", "/")); //申请日期转换成标准日期值 var cf_end = y; cf_end = new Date(cf_end.replace("-", "/")); //请假开始日期转换成标准日期值 console.log(cf_begin.getMonth()) console.log(cf_end.getMonth()) var n = 0; function addDate(date,days){ var d=new Date(date); d.setDate(d.getDate()+days); var m=d.getMonth()+1; return d.getFullYear()+'-'+m+'-'+d.getDate(); } n=addDate(y,3) console.log(x,n) if(x>n){ alert("只能补3天内的假期!"); }else{ return false; } </script> </body> </html>
给心灵一个纯净空间,让思想,情感,飞扬!