Будем считать количество часов или дней до какой-нибудь знаменательной даты. Например, до дня рождения, до Нового года, до начала отпуска, ну, или как у меня. :) Как всегда, добавляем новый гаджет «HTML/JavaScript» и копируем такой код:
<div id="datecounter"></div> <script type="text/javascript"> var ts = new Date(2012,0,15) - new Date(); var str = "" + Math.round(ts / 3600000); var len = str.length; var html = "<b>уже наступил!</b>"; var t = "часов"; if (ts > 0) { if (len == 1 || (len > 1 && str[len - 2] != '1')) { switch (str[len - 1]) { case '1': t = "час"; break; case '2': case '3': case '4': t = "часа"; } } html = "через <b>" + str + "</b> " + t; } document.getElementById("datecounter").innerHTML = html; </script>
Дата нашего события задаётся в строчке:
var ts = new Date(2012,0,15) - new Date();
В скобках указываем год, месяц, день. Обратите внимание: счёт месяцев начинается с нуля! Т.е. дата в нашем примере — это 15 января 2012 года. Если интересующее событие начинается не в 0:00, а, скажем, в пол-первого, можно учесть и это, добавив в строчке с датой и время:
var ts = new Date(2012,0,15,12,30) - new Date();
Следующая строка кода переводит отрезок времени (который измеряется в милисекундах) в часы. Если нас интересует измерение в днях, то придётся изменить эту строку так:
var str = "" + Math.round(ts / 86400000);
Кроме того, Капитан Очевидность подсказывает, что дальше в коде нужно заменить "часов" на "дней", "час" на "день", а "часа" на "дня". :)
Комментариев нет:
Отправить комментарий