<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>
这个算法占用系统资源相当少了,跳动应该是你电脑卡吧,我的电脑一点问题都没有。
可以这样判断:
function CheckActive(d) { // 传入参数为要比较的证书日期值,为Date类型var dateNow = new Date() // 获取当前时间
dateNow.setFullYear(dateNow.getFullYear() - 3) // 将日期调整到3年前。注意:润2月的情况可能会有1天的误差
return d > dateNow // 如果比较日期大于3年前的今天, 返回true, 代表有效 否则返回false, 代表无效
}
window.alert(CheckActive(new Date(2010, 1, 28))) // 调用测试
函数CheckActive的传入参数要为Date类型,如果你获取发证时间为字符,那么要先处理成日期值再进行调用。