/JAVASCRIPT中 日期相減很麻煩 ,如今有現成的實現方法,拷貝過去就能夠用了,方便 //調用該方法(主方法) function dateDiff(date1, date2){ var type1 = typeof date1, type2 = typeof date2; if(type1 == 'string') date1 = stringToTime(date1); else if(date1.getTime) date1 = date1.getTime(); if(type2 == 'string') date2 = stringToTime(date2); else if(date2.getTime) date2 = date2.getTime(); return (date1 - date2) / 1000;//結果是秒 } //字符串轉成Time(dateDiff)所需方法 function stringToTime(string){ var f = string.split(' ', 2); var d = (f[0] ? f[0] : '').split('-', 3); var t = (f[1] ? f[1] : '').split(':', 3); return (new Date( parseInt(d[0], 10) || null, (parseInt(d[1], 10) || 1)-1, parseInt(d[2], 10) || null, parseInt(t[0], 10) || null, parseInt(t[1], 10) || null, parseInt(t[2], 10) || null )).getTime(); } //調用 dateDiff("2009-10-10 19:00:00","2009-10-10 18:00:00") 返回的是秒鐘 //Get days and other datetime //diffrence two datetime // date1 :更早的日期 小的日期 // date2 :後面的日期 大的日期 // 返回兩個時間差的天數小時數分數秒數和毫秒數 function DiffLong(datestr1, datestr2) { var date1 = new Date(Date.parse(datestr1.replace(/-/g, "/"))); var date2 = new Date(Date.parse(datestr2.replace(/-/g, "/"))); var datetimeTemp; var isLater = true; if (date1.getTime() > date2.getTime()) { isLater = false; datetimeTemp = date1; date1 = date2; date2 = datetimeTemp; } difference = date2.getTime() - date1.getTime(); thisdays = Math.floor(difference / (1000 * 60 * 60 * 24)); difference = difference - thisdays * (1000 * 60 * 60 * 24); thishours = Math.floor(difference / (1000 * 60 * 60)); var strRet = thisdays + '天' + thishours + '小時'; return strRet; }