2013-03-28 3 views
2

У меня есть два текстовых поля (время и тайм-аут). Время вводится в этом формате: hh: mm AM или PM, я хочу рассчитать часы между временем и временем. Как я могу это сделать?jQuery: Рассчитать часы по времени и времени

Время В 9:00 утра

Time Out 5:00 вечера

Часы должны быть 8.

+4

Используя дату() объект должен быть способ сделать это , но вы также можете просто сравнить целые числа в датах, например [** FIDDLE **] (http://jsfiddle.net/EZ7n5/) – adeneo

ответ

0
hours = parseInt(timeOut.substr(0,2)) + parseInt(timeOut.substr(3,2))/60; 
hours += timeOut.substr(6,2)=="PM"?12:0; 
hours -= parseInt(timeIn.substr(0,2)) - parseInt(timeIn.substr(3,2))/60; 
hours -= timeIn.substr(6,2)=="PM"?12:0; 

при условии, что вы проверили данные в текстовые поля спичек точно формат, который вы указали в своем вопросе.

Также вы получаете десятичные значения доли часов (Исх 8 часов 30 минут ---> 8,5)

3

попробовать этот

var start= new Date("2013-1-1 " + end_time); 
var end=new Date("2013-1-1 " + start_time); 

var finaltime=(start-end)/1000/60/60; 
+1

+1, отлично работает и кажется правильным решением. – adeneo

+0

Я думаю, что это должно быть (end-start), чтобы получить значение в положительном. Кроме того, скажем, что время в 09:00 утра и тайм-аут - 05:00. Правильные часы должны быть 20, но он показывает -4. – Ram

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