2014-01-26 2 views
1

Хорошо, поэтому я пытаюсь получить значения времени между двумя разными датами.Javascript Получите разницу во времени между 2 датами

Например:

date1 = 3/2/2014 - 14:12 

date2 = 4/2/2014 - 16:22 

Как бы я получить разницу во времени между date1 и date2? (26 часов, 10 минут) < - это было бы идеальным выходом для того, что я хочу.

Я имел взгляд на метод синтаксического анализа, и если я правильно понимаю, я думаю, что я мог бы сделать эту работу, делая что-то вроде:

myDate = date1; 

myDate.parse(date2); 

затем преобразовать вывод в том, как я хотел от там, но я не видел никаких примеров, когда это занимает время дня.

+0

Возможный дубликат [Сравнение двух дат с JavaScript] (https://stackoverflow.com/questions/492994/c ompare-два-дат-с-JavaScript) –

ответ

0

Вы можете использовать Date класс, а затем просто вычесть 2 даты

var difference = (new Date(2014, 2, 4, 16, 22, 0).getTime() 
        - new Date(2014, 2, 3, 14, 12, 0).getTime() 
       )/1000 

getTime() дает время в миллисекундах, так что вы должны разделить на 1000, чтобы получить результат в секундах.

0

Вам просто нужно вычесть объект две даты, чтобы получить разницу, поскольку JavaScript преобразует его в правильный тип автоматически:

date1 - date2 //difference in milliseconds 

Для форматирования можно настроить функцию, подобную этой:

Number.prototype.format = function(){ 
    return [ 
     (this/86400|0), "days", 
     (this/3600|0) % 24 , "hours", 
     (this/60|0) % 60 , "minutes", 
     (this|0) % 60 , "seconds" 
    ].join(" "); 
}; 

((date1 - date2)/1000).format(); //Formatted string 

Demo: http://jsfiddle.net/DerekL/Prb7j/ (время форматирования также включены)

Смежные вопросы