一、兩個日期大小比較
1、日期引數格式:yyyy-mm-dd
1 // a: 日期a, b: 日期b, flag: 返回的結果 2 function duibi(a, b,flag) { 3 var arr = a.split("-"); 4 var starttime = new Date(arr[0], arr[1], arr[2]); 5 var starttimes = starttime.getTime(); 6 var arrs = b.split("-"); 7 var endTime = new Date(arrs[0], arrs[1], arrs[2]); 8 var endTimes = endTime.getTime(); 9 // 進行日期比較 10 if (endTimes >= starttimes) { 11 flag = "true"; 12 return flag; 13 }else{ 14 flag = "false"; 15 return flag; 16 } 17 }
2、日期格式:yyyy-mm-dd hh:mi:ss
1 function comptime() { 2 var beginTime = "2009-09-21 00:00:00"; 3 var endTime = "2009-09-21 00:00:01"; 4 var beginTimes = beginTime.substring(0, 10).split(`-`); 5 var endTimes = endTime.substring(0, 10).split(`-`); 6 7 beginTime = beginTimes[1] + `-` + beginTimes[2] + `-` + beginTimes[0] + ` ` +beginTime.substring(10, 19); 8 9 endTime = endTimes[1] + `-` + endTimes[2] + `-` + endTimes[0] + ` ` + endTime.substring(10, 19); 10 11 // alert(beginTime + "aaa" + endTime); 12 // alert(Date.parse(endTime)); 13 // alert(Date.parse(beginTime)); 14 var a = (Date.parse(endTime) - Date.parse(beginTime)) / 3600 / 1000; 15 if (a < 0) { 16 alert("endTime小!"); 17 } else if (a > 0) { 18 alert("endTime大!"); 19 } else if (a == 0) { 20 alert("時間相等!"); 21 } else { 22 return `exception` 23 } 24 }
二、JS中獲取日期前一個月的日期
1、引數date格式 : yyyy-mm-dd
1 function getPreMonth(date) { 2 var arr = date.split(`-`); 3 var year = arr[0]; //獲取當前日期的年份 4 var month = arr[1]; //獲取當前日期的月份 5 var day = arr[2]; //獲取當前日期的日 6 var days = new Date(year, month, 0); 7 days = days.getDate(); //獲取當前日期中月的天數 8 var year2 = year; 9 var month2 = parseInt(month) - 1; 10 if (month2 == 0) { 11 year2 = parseInt(year2) - 1; 12 month2 = 12; 13 } 14 var day2 = day; 15 var days2 = new Date(year2, month2, 0); 16 days2 = days2.getDate(); 17 if (day2 > days2) { 18 day2 = days2; 19 } 20 if (month2 < 10) { 21 month2 = `0` + month2; 22 } 23 var t2 = year2 + `-` + month2 + `-` + day2; 24 return t2; 25 }
三、js中日期加減一天
1 1、 定義以下兩個方法 2 //String 轉為 data: ("yyyy-MM-dd")格式的字串 轉為 Wed Jul 05 2017 13:50:11 GMT+0800 (中國標準時間) 3 function convertDateFromString(dateString) { 4 if (dateString) { 5 var date = new Date(dateString.replace(/-/,"/")) 6 return date; 7 } 8 } 9 //格式化日期 : Wed Jul 05 2017 13:50:11 GMT+0800 (中國標準時間) 准尉 格式為 yyyy-mm-dd 的日期型別 10 function formatTime(date) { 11 var year = date.getFullYear(); 12 var month = date.getMonth()+1, month = month < 10 ? `0` + month : month; 13 var day = date.getDate(), day =day < 10 ? `0` + day : day; 14 return year + `-` + month + `-` + day; 15 } 16 17 2、用法例子: 18 var test = convertDateFromString("2017-10-11");//返回標準的中國時間 19 test = formatTime(test); //返回 yyyy-mm-dd 的Date型別 20 var now = test.split(`-`) 21 now = new Date(Number(now[`0`]),(Number(now[`1`])-1),Number(now[`2`])) 22 now.setDate(now.getDate() - 1); //setDate()方法實現 加 或 減 一天(可以避免 1號時減一天出錯的情況),setDate()方法不會返回任何值,但呼叫者now會發生改變 23 var xx = formatTime(now);