新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
JQUERY好像没有对时间函数进行封装
创新互联是一家集网站建设,册亨企业网站建设,册亨品牌网站建设,网站定制,册亨网站建设报价,网络营销,网络优化,册亨网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
另外,时间相减 即时间间隔 只有日、时、分、秒等的说法,貌似没有年月的说法,因为这两个都是不定值
给个参考的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]);//转换为MM-dd-yyyy格式
aDate = sDate2.split("-");
oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);
var timeSpan = {};
var TotalMilliseconds = Math.abs(oDate1 - oDate2);//相差的毫秒数
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个时间段的时差方法:
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();
//开始、结束是否超过24小时,超过减15个小时乘天数
if (result 86400000) result -= Math.floor(result / 86400000) * 54000000;
document.getElementById('result').innerHTML = '请假时间:' + (result / 3600000).toFixed(1) + '小时';
}
}
/script
javascript中有一个Date对象
Date对象可以直接比较
举个例子
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();//默认是当前日期
if(date1date2){
alert("大于");
}else{
alert("不大于");
}
setFullYear中的参数支持字符串或者数字。
详情请参考W3C帮助文档
首先获取时间对应的毫秒数。例如:var date1 = new Date(Date.UTC(2005,4,5,17,55,55))
var date2 = new Date(Date.UTC(……))
分别解释下括号里面的6个参数 :
第一个 年份;
第二个:月份,(月份是从0-11)因此表示5月份
第三个:日期 5号
第四个:17代表下午5点(24小时制,0-23)
第五个:分(0-59)
第六个 :秒(0-59)
前两个参数 年份、月份是必填参数,其他可选填,默认为0;
var result = date2-date1
获取到时间差的毫秒数。然后经过数学计算获得 对应的 小时 分钟 秒;