js用Date對(duì)象的setDate()函數(shù)對(duì)日期進(jìn)行加減操作
想自己寫(xiě)一個(gè)日期的加減方法,但是涉及到每個(gè)月天數(shù)的判斷,如果是2月份的話,還要涉及到閏年的判斷,有些復(fù)雜,應(yīng)用過(guò)程中總是出現(xiàn)問(wèn)題,于是查了下資料,以在某個(gè)日期上加減天數(shù)來(lái)說(shuō),其實(shí)只要調(diào)用Date對(duì)象的setDate()函數(shù)就可以了,具體方法如下:
function addDate(date,days){
var d=new Date(date);
d.setDate(d.getDate()+days);
var month=d.getMonth()+1;
var day = d.getDate();
if(month<10){
month = "0"+month;
}
if(day<10){
day = "0"+day;
}
var val = d.getFullYear()+""+month+""+day;
return val;
}
其中,date參數(shù)是要進(jìn)行加減的日期,格式Y(jié)YYY-MM-DD,days參數(shù)是要加減的天數(shù),如果往前算就傳入負(fù)數(shù),往后算就傳入正數(shù),如果是要進(jìn)行月份的加減,就調(diào)用setMonth()和getMonth()就可以了,需要注意的是返回的月份是從0開(kāi)始計(jì)算的,也就是說(shuō)返回的月份要比實(shí)際月份少一個(gè)月,因此要相應(yīng)的加上1。
特別:注意年月日組合的時(shí)候,不能直接+,會(huì)當(dāng)做int類型求和,要轉(zhuǎn)換成字符串。
PS:最后再為大家推薦幾款時(shí)間及日期相關(guān)在線工具供大家參考使用:
在線日期/天數(shù)計(jì)算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi
在線日期計(jì)算器/相差天數(shù)計(jì)算器:
http://tools.jb51.net/jisuanqi/datecalc
在線日期天數(shù)差計(jì)算器:
http://tools.jb51.net/jisuanqi/onlinedatejsq
Unix時(shí)間戳(timestamp)轉(zhuǎn)換工具:
http://tools.jb51.net/code/unixtime
- 通過(guò)實(shí)例解析javascript Date對(duì)象屬性及方法
- JS使用Date對(duì)象實(shí)時(shí)顯示當(dāng)前系統(tǒng)時(shí)間簡(jiǎn)單示例
- JavaScript 中Date對(duì)象的格式化代碼方法匯總
- JS中使用new Date(str)創(chuàng)建時(shí)間對(duì)象不兼容firefox和ie的解決方法(兩種)
- javascript中Date對(duì)象的使用總結(jié)
- Javascript之Date對(duì)象詳解
- JavaScript Date對(duì)象詳解
- 詳解JavaScript的Date對(duì)象(制作簡(jiǎn)易鐘表)
- JavaScript Date對(duì)象詳解及時(shí)間戳和時(shí)間的相互轉(zhuǎn)換問(wèn)題
js讀寫(xiě)COOKIE實(shí)現(xiàn)記住帳號(hào)或密碼的代碼(js讀寫(xiě)COOKIE)
JavaScript實(shí)現(xiàn)簡(jiǎn)易飛機(jī)大戰(zhàn)
JS FormData對(duì)象使用方法實(shí)例詳解
js 提取某()特殊字符串長(zhǎng)度的實(shí)例

