如何在javascript中以HH:MM:SS格式区分两个日期? [英] How to get difference between 2 dates in HH:MM:SS format in javascript ?
问题描述
如何区分两种日期格式:HH:MM:SS
假设[从日期] = 03 -04-2017 08:00:00(这是dd-MM-yyyy hh:mm:ss格式)
[迄今] = 04-04-2017 09:00:00(这个是dd-MM-yyyy hh:mm:ss格式)
现在输出将是:( todate -from date) = 25:00:00
如何获得这个价值?
请帮忙。我试了很多次。但没有找到任何解决方案。
我尝试过:
var from_date = new Date(03-04-2017 08:00:00);
var to_ = new Date(04-04-2017 09:00:00);
alert(now);
alert(then);
how to get difference between 2 dates in the format : HH:MM:SS
suppose [ from date ]= 03-04-2017 08:00:00 (this is in dd-MM-yyyy hh:mm:ss format)
[ to date ]=04-04-2017 09:00:00 (this is in dd-MM-yyyy hh:mm:ss format)
now the output will be : (todate -from date) = 25:00:00
how to get this value ?
please help . i tried a a lot. but didn't find any solutions.
What I have tried:
var from_date =new Date( "03-04-2017 08:00:00");
var to_=new Date( "04-04-2017 09:00:00");
alert(now);
alert(then);
推荐答案
function getDateObject(datestr) {
var parts = datestr.split(' ');
var dateparts = parts[0].split('-');
var day = dateparts[0];
var month = parseInt(dateparts[1]) - 1;
var year = dateparts[2];
var timeparts = parts[1].split(':')
var hh = timeparts[0];
var mm = timeparts[1];
var ss = timeparts[2];
var date = new Date(year, month, day, hh, mm, ss, 00);
return date;
}
function gettimediff(t1, t2) {
var t1val = Number( t1.getHours() * 60 + t1.getMinutes());
var t2val = Number(t2.getHours() * 60 + t2.getMinutes());
var min = Math.floor((t2val - t1val) % 60);
var hours = parseInt((t2 - t1) / (1000 * 60 * 60));
return (hours + ':' + min + ':00');
}
var from = '03-04-2017 08:00:00';
var to = '04-04-2017 09:00:00';
from = getDateObject(from);
to = getDateObject(to);
alert(gettimediff(from, to)); //25:0:00
这篇关于如何在javascript中以HH:MM:SS格式区分两个日期?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!