JQUERY好像沒有對時(shí)間函數(shù)進(jìn)行封裝
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),冊亨企業(yè)網(wǎng)站建設(shè),冊亨品牌網(wǎng)站建設(shè),網(wǎng)站定制,冊亨網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,冊亨網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
另外,時(shí)間相減 即時(shí)間間隔 只有日、時(shí)、分、秒等的說法,貌似沒有年月的說法,因?yàn)檫@兩個(gè)都是不定值
給個(gè)參考的JS代碼吧,如下
function DateDiff(sDate1, sDate2){ //sDate1和sDate2是字符串 yyyy-MM-dd格式
var aDate, oDate1, oDate2, iDays, ihours, iminutes, iseconds;
aDate = sDate1.split("-");
oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);//轉(zhuǎn)換為MM-dd-yyyy格式
aDate = sDate2.split("-");
oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);
var timeSpan = {};
var TotalMilliseconds = Math.abs(oDate1 - oDate2);//相差的毫秒數(shù)
timeSpan.Days = parseInt(TotalMilliseconds / 1000 / 60 / 60 /24);
timeSpan.TotalHours = parseInt(TotalMilliseconds / 1000 / 60 / 60);
timeSpan.Hours = timeSpan.TotalHours % 24;
timeSpan.TotalMinutes = parseInt(TotalMilliseconds / 1000 / 60);
timeSpan.Minutes = timeSpan.TotalMinutes % 60;
timeSpan.TotalSeconds = parseInt(TotalMilliseconds / 1000);
timeSpan.Seconds = timeSpan.TotalSeconds % 60;
timeSpan.TotalMilliseconds = TotalMilliseconds;
timeSpan.Milliseconds = TotalMilliseconds % 1000;
return timeSpan;
}
JQuery獲取2個(gè)時(shí)間段的時(shí)差方法:
script type="text/javascript"
window.onload = function() {
document.getElementById('btn_calc').onclick = function() {
var obj = document.getElementById('demo').getElementsByTagName('input');
var ar_ds = obj[0].value.split('-');
var ar_ts = obj[1].value.split(':');
var ds = new Date(ar_ds[0], ar_ds[1] - 1, ar_ds[2], ar_ts[0], ar_ts[1]);
var ar_de = obj[2].value.split('-');
var ar_te = obj[3].value.split(':');
var de = new Date(ar_de[0], ar_de[1] - 1, ar_de[2], ar_te[0], ar_te[1]);
var result = de.getTime() - ds.getTime();
//開始、結(jié)束是否超過24小時(shí),超過減15個(gè)小時(shí)乘天數(shù)
if (result 86400000) result -= Math.floor(result / 86400000) * 54000000;
document.getElementById('result').innerHTML = '請假時(shí)間:' + (result / 3600000).toFixed(1) + '小時(shí)';
}
}
/script
javascript中有一個(gè)Date對象
Date對象可以直接比較
舉個(gè)例子
var?date1Str?=?"2010/2/1";
var??date1arr?=?dateStr1.split("/");
var?date1?=?new?Date();
date1.setFullYear(date1arr[0],date1arr[1],date1arr[2]);
var?date2?=?new?Date();//默認(rèn)是當(dāng)前日期
if(date1date2){
alert("大于");
}else{
alert("不大于");
}
setFullYear中的參數(shù)支持字符串或者數(shù)字。
詳情請參考W3C幫助文檔
首先獲取時(shí)間對應(yīng)的毫秒數(shù)。例如:var date1 = new Date(Date.UTC(2005,4,5,17,55,55))
var date2 = new Date(Date.UTC(……))
分別解釋下括號里面的6個(gè)參數(shù) :
第一個(gè) 年份;
第二個(gè):月份,(月份是從0-11)因此表示5月份
第三個(gè):日期 5號
第四個(gè):17代表下午5點(diǎn)(24小時(shí)制,0-23)
第五個(gè):分(0-59)
第六個(gè) :秒(0-59)
前兩個(gè)參數(shù) 年份、月份是必填參數(shù),其他可選填,默認(rèn)為0;
var result = date2-date1
獲取到時(shí)間差的毫秒數(shù)。然后經(jīng)過數(shù)學(xué)計(jì)算獲得 對應(yīng)的 小時(shí) 分鐘 秒;