jQuery:如何使用am/pm格式获取两个时间和日期之间的时差 [英] jQuery: How to get the difference between two time and date with am/pm format

查看:111
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆