Библиотека: скачать готовые скрипты 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 можно скопировать и просто вставить в Ваши веб-страницы при цитировании материалов нашего веб-сайта. Материал носит неофициальный характер и приведен для ознакомления.

