第一个把时间转换为整数,这样你就能去计算了,第二个把数字转换成时间,你可以用来显示了
function getIntFromTime(time) {
time = time.split(':')
return parseInt(time[0], 10) * 60 * 60 + parseInt(time[1], 10) * 60 + parseInt(time[2], 10)
}
function getTimeFromInt(value) {
var h = Math.floor(value / 60 / 60)
var m = value % (60*60)
var s = value % (60)
if (h.toString().length <2) h = '0' + h.toString()
if (m.toString().length <2) m = '0' + m.toString()
if(s.toString().length <2) s = '0' + s.toString()
return h + ':' + m + ':' + s
}
这两句有问题,Date对象不能这样相减吧?var diffTime= (nowTime - checkDate)/thesecond
diffTime=0-diffTime
应该这样
var diffTime =nowTime.getTime() - checkDate.getTime()
得到差值后,判断正负这些就不多说了,说一下怎么获得这个差值是多少天、小时、分钟和秒。
注:下面的dTime是 new Date(diffTime)
天数可以用你上面的方法计算得到,不过你那方法没有取整。取整的话,就是这样:
var dDays = parseInt(dTime.getTime() / 3600 * 24 * 1000)
然后就剩下时分秒了,我们注意到,new Date(0)是"Thu Jan 01 1970 08:00:00 GMT+0800",所以再减去八个钟就是 1970年1月1日 零时了。所以将上面的diffTime减去八个钟的毫秒数再放到new Date()里面,再获取到的时分秒就是剩余的时间了:
var dHours = dTime.getHours()
var dMinutes =dTime.getMinutes()
var dSeconds = dTime.getSeconds()
你可以看下我的另一个回答
http://zhidao.baidu.com/question/135976703.html
js求时间差var date1=new Date() //开始时间
alert("aa")
var date2=new Date() //结束时间
var date3=date2.getTime()-date1.getTime() //时间差的毫秒数
//计算出相差天数
var days=Math.floor(date3/(24*3600*1000))