一些时间比较及转换的问题
需求输入两个时间,只需要HH:MM 即小时和分钟
我是用<input type="text" name="starttime" /> <input type="text" name="stopname" />进行输入
例如输入 11:30 12:30 那么如何将这两个转换为时间格式做比较呢?百度了一堆都是天与天之间比较的
下面是我模仿着写的JS,转换时间那里肯定是有问题的,要如何改写呢?
function comparetime(){var starttime = document.getElementById("starttime").value;var stoptime = document.getElementById("stoptime").value;var time1=(starttime).toTimeString(); //应该是这里处理的方法有问题var time2=(stoptime).toTimeString();if(starttime > stoptime){ alert("输入的时间有误");}else { alert("正确");}}
function comparetime(){var starttime = document.getElementById("starttime").value;var stoptime = document.getElementById("stoptime").value;var t1=starttime.split(':');var t2=stoptime.split(':');var time1=new Date(75, 1, 16, t1[0], t1[1], 0); var time2=new Date(75, 1, 16, t2[0], t2[1], 0);if(starttime > stoptime){ alert("输入的时间有误");}else { alert("正确");}}
[解决办法]
1、
s1 = '11:30';s2 = '12:30';d = new Date();t = s1.split(/:/);d.setHours(t[0], t[1]);t1 = d.getTime();t = s2.split(/:/);d.setHours(t[0], t[1]);t2 = d.getTime();if(t1 > t2) alert('ok');else alert('error');
[解决办法]
duibi 方法就不要alert了,直接返回false或 true就行了
if(starttimes >= stoptimes){
alert("输入时间有误");
return false;
}
else {
return true;
}
function setSubmit(){
...............这里验证ACE_HIDDEN_TABLE 下的两个input 框.................
var inputs=document.getElementById('newTB').getElementsByTagName('input');
for(var i=0;i<inputs.length;i+=2){
if(!duibi(inputs[i].value,inputs[i+1].value)){
alert('输入有误');
return false;
}
}
return true;
}
然后在你的form中 <form .... onsubmt="return setSubmit()">