查看: 85|回覆: 0

JavaScript日期加减

[複製鏈接]

1

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2010-5-2
發表於 2022-9-16 10:03:00 | 顯示全部樓層 |閲讀模式

//js日期加减函数

 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(); 
     } 

 

 

JS中的日期加减使用以下方式:

varcurrentDate = new Date();

对日期加减:

date.setDate(date.getDate()+n);

对月加减:

date.setMonth(date.getMonth()+n);

对年加减:

date.setFullYear(date.getFullYear()+n);

对小时、周等,都可以使用类似的方式修改。

同时如果对日加减的时候跨越了月、年,那么JS的date类型会自动的处理跨越问题,不需要我们处理。
需要注意的是返回的月份是从0开始计算的,也就是说返回的月份要比实际月份少一个月,因此要相应的加上1

 

如题,开始查了查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天



来源:https://www.cnblogs.com/itjeff/p/16698870.html
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部