Вычисление количества часов, прошедших между двумя датами, с использованием datejs и timejs - PullRequest
1 голос
/ 16 февраля 2012

Я использую библиотеку datejs с модулем timejs. Мы получаем запросы контактов в таблицу и хотим определить время ответа. Итак, у меня есть дата начала с отметкой времени и датой ответа.

Я использовал date.js, чтобы определить разницу во времени между двумя датами. Проблема заключается в том, что он выполняет простой математический расчет между двумя числами, предоставленными для каждой временной отметки, а не с учетом того, что для каждой разницы в день проходит 24 часа.

Так, например:

var start = Date.parse("Feb 16 2012 15:30:00"); 
var end = Date.parse("Feb 19 2012 09:30:00");

var span = new TimeSpan(end - start);

var tdiff = span.hours; 


console.log(tdiff);

Это дает мне результат 18 часов, когда фактическое время, прошедшее между этими двумя датами, составляет 66 часов. Как я могу использовать эту библиотеку, чтобы узнать фактическое время?

Во-вторых, рабочий день с 9:00 до 17:30. Как я могу исключить из этого расчета часы, не являющиеся частью рабочего дня?

1 Ответ

1 голос
/ 16 февраля 2012
var start = Date.parse("Feb 16 2012 15:30:00"); 
var end = Date.parse("Feb 19 2012 09:30:00");

var numOfHrs = (end-start) / (1000*60*60);
alert(numOfHrs);
alert((24-15.5) * (numOfHrs/24));
...