本文为博主原创文章,转载请注明出处。版权声明:本文为博主原创文章,欢迎转载,转载请注明作者,原文超链接, 博主地址:https://www.cnblogs.com/topfish/。

js中两个日期大小比较,获取当前日期,日期加减一天

一、两个日期大小比较
  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);

 

posted @ 2018-05-11 18:10  oh路飞  阅读(10973)  评论(0编辑  收藏  举报