1. 程式人生 > >[js]日期處理

[js]日期處理

還要 fun 閏年 使用 style 一個 var undefine new

 1 // 日期,在原有日期基礎上,增加days天數,默認增加1天
 2         function addDate(date, days) {
 3             if (days == undefined || days == ‘‘) {
 4                 days = 1;
 5             }
 6             var date = new Date(date);
 7             date.setDate(date.getDate() + days);
 8             var month = date.getMonth() + 1
; 9 var day = date.getDate(); 10 return date.getFullYear() + - + getFormatDate(month) + - + getFormatDate(day); 11 } 12 13 // 日期月份/天的顯示,如果是1位數,則在前面加上‘0‘ 14 function getFormatDate(arg) { 15 if (arg == undefined || arg == ‘‘) { 16 return
‘‘; 17 } 18 19 var re = arg + ‘‘; 20 if (re.length < 2) { 21 re = 0 + re; 22 } 23 24 return re; 25 }

參考:

如題,開始查了查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。

[js]日期處理