ISBN 966-7343-29-5 К.305

УДК 531.0
ББК 22.311
  К.305

Библиотека: скачать готовые скрипты Javascript
Подсчет количества времени с начала или до конца некоторой заданной даты

   Посмотрите на работу этого практичного скрипта на отдельной веб-странице.
   Очень удобный скрипт, который автоматически считает, сколько дней (либо часов, минут, секунд, недель, лет и т.д.) прошло с какой-либо стартовой даты или осталось до какой-либо финишной даты, явно заданной в скрипте. Использует абсолютное время в миллисекундах, переводимое в различные временные единицы. Можно считать дни (1000*60*60*24)мс, часы (1000*60*60)мс, минуты (1000*60)мс, секунды (1000)мс, недели (1000*60*60*24*7)мс, года (1000*60*60*24*365)мс и другие временные периоды, переведенные в миллисекунды.

   Текст комментариев редактируемый. Скрипт полностью не русифицирован, поэтому дату в комментариях можно указать не в виде скрипта и переменной, а прописать явно (вписать дату вместо переменных olddates и newdates) или косвенно (например: до конца акции осталось ... дней, с момента начала работы магазина прошло ... дней, до нового года осталось ... минут). Указание фиксированной даты в значении переменной именно на английском языке строго обязательно. Для тех, кто не знает английского, приводим переводы названий месяцев.

ЯнварьJanuary
ФевральFebruary
Март March
АпрельApril
МайMay
ИюньJune
ИюльJuly
АвгустAugust
СентябрьSeptember
ОктябрьOctober
НоябрьNovember
ДекабрьDecember

   Выделите мышью приводимый ниже код (выберите нужное), скопируйте его (командой Ctrl+C) и вставьте его (командой Ctrl+V) в свою веб-страницу после тэга <body> на нужное Вам место.


<script language="javascript'>
<!--
olddates = 'January 01, 2000' // прошедшая дата на английском
d0 = new Date(olddates);
d1 = new Date();
dt = (d1.getTime() - d0.getTime()) / (1000*60*60*24);
document.write('Стартовая дата - <B>' + olddates + '</B> <br />От начала стартовой даты уже наступил <B>' + Math.round(dt) + '</B> день');
-->
</script>


<script language="javascript'>
<!--
newdates = 'September 18, 2020' // будущая дата на английском
d0 = new Date(newdates);
d1 = new Date();
dt = (d0.getTime() - d1.getTime()) / (1000*60*60*24*365);
document.write('Финишная дата - <B>' + newdates + '</B> <br />До указанного времени еще осталось <B>' + Math.round(dt) + '</B> лет');
-->
</script>


<script language="javascript'>
<!--
newdates = 'September 18, 2020' // будущая дата на английском
d0 = new Date(newdates);
d1 = new Date();
dt = (d0.getTime() - d1.getTime()) / (1000*60*60*24*30);
document.write('Финишная дата - <B>' + newdates + '</B> <br />До указанного времени еще осталось <B>' + Math.round(dt) + '</B> месяцев');
-->
</script>


<script language="javascript'>
<!--
newdates = 'September 18, 2020' // будущая дата на английском
d0 = new Date(newdates);
d1 = new Date();
dt = (d0.getTime() - d1.getTime()) / (1000*60*60*24*7);
document.write('Финишная дата - <B>' + newdates + '</B> <br />До указанного времени еще осталось <B>' + Math.round(dt) + '</B> недель');
-->
</script>


<script language="javascript'>
<!--
newdates = 'September 18, 2020' // будущая дата на английском
d0 = new Date(newdates);
d1 = new Date();
dt = (d0.getTime() - d1.getTime()) / (1000*60*60*24);
document.write('Финишная дата - <B>' + newdates + '</B> <br />До указанного времени еще осталось <B>' + Math.round(dt) + '</B> дней');
-->
</script>


<script language="javascript'>
<!--
newdates = 'September 18, 2020' // будущая дата на английском
Hourdates = '12' // часы
d0 = new Date(newdates);
d1 = new Date();
dt = (d0.getTime() - d1.getTime()) / (1000*60*60) + Hourdates;
document.write('Финишная дата и время - ' + Hourdates + '.00 часов <B>' + newdates + '</B> <br />До указанного времени еще осталось <B>' + Math.round(dt) + '</B> часов');
-->
</script>


<script language="javascript'>
<!--
newdates = 'September 18, 2020' // будущая дата на английском
Hourdates = '12' // часы
Minutedates = '30' // минуты
d0 = new Date(newdates);
d1 = new Date();
dt = (d0.getTime() - d1.getTime()) / (1000*60) + Minutedates + Hourdates*24;
document.write('Финишная дата и время - ' + Hourdates + '.' + Minutedates + ' часов <B>' + newdates + '</B> <br />До указанного времени еще осталось <B>' + Math.round(dt) + '</B> минут');
-->
</script>


<script language="javascript'>
<!--
newdates = 'September 18, 2020' // будущая дата на английском
Hourdates = '12' // часы
Minutedates = '30' // минуты
Seconddates = '25' // секунды
d0 = new Date(newdates);
d1 = new Date();
dt = (d0.getTime() - d1.getTime()) / (1000) + Seconddates + Minutedates*60 + Hourdates*60*60;
document.write('Финишная дата и время - ' + Hourdates + '.' + Minutedates + ':' + Seconddates +' <B>' + newdates + '</B> <br />До указанного времени еще осталось <B>' + Math.round(dt) + '</B> секунд');
-->
</script>

   А теперь немного теории. Существую семь методов объекта: getDay(), getDate(), getMonth(), getYear(), getHour(), getMinute(), и getSecond() (получить соответственно День, Число, Месяц, Год, Час, Минуту, Секунду). Все они существуют, их можно определить и использовать на странице. Показывают соответственно день, дату, месяц, год, час, минуту и секунду того момента, во время которого производится запрос. Поскольку сценарий клиентский, получаем именно то, что на компьютере у Клиента (а не на Вашем интернет-сервере).

   С 1 января 2000 вместо двух последних цифр года, как раньше, getYear в IE показывает полный четырехзначный номер, другие браузеры могут проглючить. На данной странице использовалось абсолютное время в миллисекундах getTime().



 

 

Наши ссылки на веб-страницы, можно скопировать html-код ссылки


Книги по математике и физике, программы HTML, компьютерные технологии

Скачать JavaScript - бесплатно скрипты JavaScript (коллекция программ на JavaScript)

   Примечание. Удобная текстовая ссылка для форумов, блогов, цитирования материалов веб-сайта, код html можно скопировать и просто вставить в Ваши веб-страницы при цитировании материалов нашего веб-сайта. Материал носит неофициальный характер и приведен для ознакомления.