JS 时间计算

JavaScript018

JS 时间计算,第1张

要下班了没时间了,这两个函数能帮到你

第一个把时间转换为整数,这样你就能去计算了,第二个把数字转换成时间,你可以用来显示了

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))