jQuery:如何使用am/pm格式获取两个时间和日期之间的时差 [英] jQuery: How to get the difference between two time and date with am/pm format
本文介绍了jQuery:如何使用am/pm格式获取两个时间和日期之间的时差的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想使用am/pm格式获取两个时间和日期之间的时差,并获得24小时格式的结果.例如:假设时间起始时间为01/01/2007(mm/dd/yyyy),起始时间为08:30:20 AM,时间终止时间为01/02/2007,起始时间为05:30:30 PM,则结果为21:时间00:10
I want to get the the difference between two time and date with am/pm format and get a 24 hour format result. for example: Given the time start 01/01/2007(mm/dd/yyyy) at 08:30:20 AM and the time end 01/02/2007 at 05:30:30 PM, then the result would be 21:00:10.
var timeStart = new Date("01/01/2007 " + "08:30:20 AM");
var timeEnd = new Date("01/02/2007 " + "05:30:30 PM");
var diff = (timeEnd - timeStart);
var seconds = diff / 6000;
var minutes = (diff - seconds)/ 60;
var hours = (diff - minutes) / 60;
$("#start").text(timeStart);
$("#end").text(timeEnd);
$("#diff").text(diff);
$("#sec").text(seconds);
$("#min").text(minutes);
$("#hr").text(hours);
div{
background-color:yellow;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Time Start: <div id="start"></div><br>
Time End: <div id="end"></div><br>
Difference: <div id="diff"></div><br>
Seconds: <div id="sec"></div><br>
Minutes: <div id="min"></div><br>
Hours: <div id="hr"><div><br>
推荐答案
var timeStart = new Date("01/01/2007 " + "08:30:20 AM");
var timeEnd = new Date("01/02/2007 " + "05:30:30 PM");
function datediff(fromDate,toDate,interval) {
/*
* DateFormat month/day/year hh:mm:ss
* ex.
* datediff('01/01/2011 12:00:00','01/01/2011 13:30:00','seconds');
*/
var second=1000, minute=second*60, hour=minute*60, day=hour*24, week=day*7;
fromDate = new Date(fromDate);
toDate = new Date(toDate);
var timediff = toDate - fromDate;
if (isNaN(timediff)) return NaN;
switch (interval) {
case "years": return toDate.getFullYear() - fromDate.getFullYear();
case "months": return (
( toDate.getFullYear() * 12 + toDate.getMonth() )
-
( fromDate.getFullYear() * 12 + fromDate.getMonth() )
);
case "weeks" : return Math.floor(timediff / week);
case "days" : return Math.floor(timediff / day);
case "hours" : return Math.floor(timediff / hour);
case "minutes": return Math.floor(timediff / minute);
case "seconds": return Math.floor(timediff / second);
default: return undefined;
}
}
$("#start").text(timeStart);
$("#end").text(timeEnd);
$("#diff").text(timeEnd - timeStart);
$("#sec").text(datediff(timeStart, timeEnd, 'seconds') % 60);
$("#min").text(datediff(timeStart, timeEnd, 'minutes') % 60);
$("#hr").text(datediff(timeStart, timeEnd, 'hours'));
div{
background-color:yellow;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Time Start: <div id="start"></div><br>
Time End: <div id="end"></div><br>
Difference: <div id="diff"></div><br>
Seconds: <div id="sec"></div><br>
Minutes: <div id="min"></div><br>
Hours: <div id="hr"><div><br>
这篇关于jQuery:如何使用am/pm格式获取两个时间和日期之间的时差的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文