Разница между датами
Помогите со скриптом
нужно найти разницу между двумя датами одна дата вводится с клавиатуры (<input type = "date") а вторая - текущая дата.. заранее спасибо:) |
var d = new Date(); d.setTime(Date.parse("21 May 1958 10:12")); alert ( +new Date - d ); лучше прочитать это |
как сделать вместо ("21 May 1958 10:12") чтобы была дата с клавиатуры
|
попробую заодно функции html run ( теги форума)
вот вводите сюда дату . Формат - <b>Y-m-d</b> <br> <input type = "date" value="2011-03-30" onclick="do_it(this)"> <br> событие <b>пока ничего.</b> <script> // кэш reg = /\d{4}-\d{2}-\d{2}/; k = 1/(1000*60*60) ; function do_it(el){ /*проверка на соответствие шаблону*/ if ( !reg.test(el.value) ) {alert('err');return} var now = new Date(); // текущее время var fut = Date.parse( el.value ); // введенное время var delta = fut - now; // разница во времени ( в миллисекундах) var back = delta < 0; // TRUE, если время уже прошло. FALSE, если оно еще не наступило // т.к. в delta может быть и отрицательное число, то берем модуль, делим на 1000 и на 3600 ( после 1000 получаются секунды,после 3600 - часы) и потом округляем до двух знаков после запятой var d = (Math.abs(delta)*k).toFixed(2); // тут формирование строки. в d у нас количество часов var str = ''; if( back) str = " было " + d + " часов назад"; else str = " будет через " + d + " часов."; // это я щак нашел элемент,куда записывать строку (увы,лучше придумать не мог :D ) el.parentNode.children[4].innerHTML = str; } </script> код хорошо комментирован. думаю, проблем возникнуть не должно часы даются не в привычном представлении ( 20:30 ), а в десятичном ( вместо 20:30 будет 20.5 ) и еще, во времени,которое выбирается, часы,минуты,секунды установлены на 00:00:00 |
melky,
На всякий случай .... Date.parse Цитата:
|
Часовой пояс GMT +3, время: 16:41. |