您的位置:首页 > Web前端 > JavaScript

JS 判断字符串是否为时间格式&开始时间不能大于截止时间

2016-09-28 10:47 791 查看
function isdate(str) {
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
var r = str.match(reg);
if(r==null)
return false;
var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
return (d.getFullYear()==r[1] && (d.getMonth()+1)==r[3] &&
d.getDate()==r[4] && d.getHours() == r[5] && d.getMinutes()==r[6] && d.getSeconds()==r[7]);
}


function checkDate(strDate1,strDate2){
var t1 = new Date(strDate1);
var t2 = new Date(strDate2);

if(Date.parse(t1) - Date.parse(t2) > 0){
return false;
}else{
return true;
}
}


补充:checkDate 方法在 IE8 上会出现问题,t1 和 t2 会变为 NAN值,故一直返回 true。应改为如下代码:

function checkDate(strDate1,strDate2){

var t1 = new Date(Date.parse(strDate1.replace(/-/g,"/"))).getTime();
var t2 = new Date(Date.parse(strDate2.replace(/-/g,"/"))).getTime();
if(t1 - t2 > 0){
return false;
}else{
return true;
}
}


注意:

new Date("Mon Sep 18 09:21:58 CST 2017")

输出为:

Mon Sep 18 2017 23:21:58 GMT+0800 (中国标准时间)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: