JavaScript比较两个日期时间格式字符串的大小

使用下面代码前必须确保传入的参数格式为:yyyy-MM-dd HH:mm:ss

下面是判断字符串是否为上述日期格式的正则表达式


var reg = /^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])\s+(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d$/;
var regExp = new RegExp(reg);


if (!regExp.test(logintime)) {
    alert("登录时间格式不正确,正确格式为: 2000-01-01 12:00:00 ");
    return;
}
//比较日期,时间大小
function compareCalendar(logintime, logouttime) {
    if (logintime.indexOf(" ") != -1 && logouttime.indexOf(" ") != -1) {
        //包含时间,日期
        return compareTime(logintime, logouttime);
    }
    else {
        //不包含时间,只包含日期
        return compareDate(logintime, logouttime);
    }
}

//判断日期,时间大小
function compareTime(logintime, logouttime) {
    if (logintime.length > 0 && logouttime.length > 0) {
        var logintimeTemp = logintime.split(" ");
        var logouttimeTemp = logouttime.split(" ");
 
        var arrloginDate = logintimeTemp[0].split("-");
        var arrlogoutDate = logouttimeTemp[0].split("-");
 
        var arrloginTime = logintimeTemp[1].split(":");
        var arrlogoutTime = logouttimeTemp[1].split(":");
 
        var allLoginDate = new Date(arrloginDate[0], arrloginDate[1], arrloginDate[2], arrloginTime[0], arrloginTime[1], arrloginTime[2]);
        var allLogoutDate = new Date(arrlogoutDate[0], arrlogoutDate[1], arrlogoutDate[2], arrlogoutTime[0], arrlogoutTime[1], arrlogoutTime[2]);
 
        if (allLoginDate.getTime() >= allLogoutDate.getTime()) {
            return false;
        } else {
            return true;
        }
    } else {
        return false;
    }
}


//比较日期大小
function compareDate(startTime, endTime) {
      var arys1 = new Array();
      var arys2 = new Array();
      if (startTime != null && endTime != null) {
          arys1 = startTime.split('-');
          var sDate = new Date(arys1[0], parseInt(arys1[1] - 1), arys1[2]);
          arys2 = endTime.split('-');
          var eDate = new Date(arys2[0], parseInt(arys2[1] - 1), arys2[2]);
          if (sDate >= eDate) {
              return false;
          } else {
              return true;
          }
      }
  }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值