<script type="text/javascript">
function checknow(){
var obj = document.getElementById("dt")
if(!/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/.test(obj.value)) alert("请输入正确的日期时间格式!")
}
</script>
<input type="text" id="dt" value="2016-09-09 11:08:33" />
<input type="button" value="检测" onClick="checknow()" />
以上实例点击检测后无报错,表示格式正确。你故意改错再检测就会出现错误提示了。
如果只需要检测日期或时间,可以自己改一下正则式,应该容易看懂的。
<html><head><title>test</title></head>
<body>
<input id="hour" style="width:2em" value="5" />:<input id="min" style="width:2em" value="20" />
<button id="do">确定</button>
<div id="info" style="display:none">
当前时间:<span id="cur_time"></span><br>
时 间 差:<span id="time_span"></span>
</div>
<script type="text/javascript">
function $(id){ return document.getElementById(id)}
function time_add_sec(secs){
if(secs != 0){ secs = 1}
window.curtime += secs
var span = Math.abs(curtime - starttime)
var cur_time = []
var time_span = []
cur_time[0] = Math.floor(curtime / 3600)
cur_time[1] = Math.floor((curtime % 3600) / 60)
cur_time[2] = Math.floor(curtime % 60)
time_span[0] = Math.floor(span / 3600)
time_span[1] = Math.floor((span % 3600) / 60)
time_span[2] = Math.floor(span % 60)
$("cur_time").innerHTML = cur_time.join(":")
$("time_span").innerHTML = time_span.join(":")
}
function time_span(){
var now = new Date()
var cur_time = []
cur_time[0] = now.getHours()
cur_time[1] = now.getMinutes()
cur_time[2] = now.getSeconds()
window.curtime = cur_time[0]*3600+cur_time[1]*60+cur_time[2]
window.starttime = $("hour").value*3600+$("min").value*60
time_add_sec(0)
$("info").style.display = "block"
setInterval(time_add_sec,1000)
}
window.onload=function (){ $("do").onclick = time_span}
</script>
</body>
</html>
这个算法占用系统资源相当少了,跳动应该是你电脑卡吧,我的电脑一点问题都没有。
你全部换算成 数字型的时间戳(毫秒) 然后2个数字减一减得差,把差和86400000(1天)x30做比较var date1=new Date() //开始时间
var date2=new Date() //结束时间
var date3=date2.getTime()-date1.getTime() //时间差的毫秒数