js中兩個日期大小比較,獲取當前日期,日期加減一天

oh路飛發表於2018-05-11

一、兩個日期大小比較
  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);

 

相關文章