«Единственный способ творить великие дела – это любить то, что ты делаешь»
JavaScript



Игра «Морской Бой» на JavaScript: Простая Игра и Игра для Двоих



Продолжаем работать с объектом Date. Здесь мы познакомимся с методом getTime.

Метод getTime возвращает количество МиллиСекунд, прошедших с полночи 1-го января 1970 года до настоящего времени (если иная дата не указана в параметрах объекта Date).

Этот стандарт (точка отсчёта) был когда-то принят программистами. Для чего? Об этом и не только Вы узнаете из этой заметки.



1-го января 1970 года - Возвращаем количество миллисекунд

Сначала, при помощи метода getTime объекта Date мы узнаем, сколько миллисекунд прошло с 1-го января 1970 года до настоящего времени.

Фрагмент кода

<script type="text/javascript">

var now = new Date();

var milliSeconds = now.getTime();

document.write(milliSeconds);

</script>

Результат

В результате, осенью 2017 года, я получил число из тринадцати цифр 1506710842947. Идем далее.

Вы же в результате исполнения кода увидите другое число. Так как сегодня уже иная дата.

1-го января 1970 года - Секунды и минуты. Часы и Дни

Для тех, кто не знает, в одной секунде содержится 1000 миллисекунд.

Ну а то, что в одной минуте содержится 60 секунд, скорее всего, известно каждому.

Исходя из этого при помощи метода getTime, узнаем: сколько секунд и минут прошло с 1-го января 1970 года до настоящего времени.

Фрагмент кода

<script type="text/javascript">

var now = new Date();

var seconds = now.getTime() / 1000;

var minutes = now.getTime() / (1000 * 60);

document.write(seconds + " - количество Секунд <br>");

document.write(minutes + " - количество Минут");

</script>

Результат

Количество прошедших с указанной даты часов и дней также вычислить не сложно. Смотрите пример ниже.

Фрагмент кода

<script type="text/javascript">

var now = new Date();

var hours = now.getTime() / (1000 * 60 * 60);

var days = now.getTime() / (1000 * 60 * 60 * 24);

document.write(hours + " - количество Часов <br>");

document.write(Math.round(days) + " - количество Дней");

</script>

Результат

И здесь же при помощи метода round объекта Math количество дней было округлено до целого значения.

Метод getTime - Практический пример

Теперь, когда мы выяснили, сколько времени (в различных единицах измерения) проходит с 1-го января 1970 года до настоящего момента, можно рассмотреть практический пример применения метода getTime.

Например, как выяснить, сколько дней осталось до 1-го января 2030 года.

  • Сначала узнаем, сколько дней прошло с 1-го января 1970 года до настоящего времени.

  • Потом посчитаем количество дней с 1-го января 1970 года до 1-го января 2030 года.

  • Третьим шагом вычислим разницу и получим число дней от сегодняшнего до первого дня 2030 года.

  • Итак, как Вы помните, объект Date() по умолчанию содержит текущую дату и не содержит параметров (т.к. при этом дату явно не указывают).

Но чтобы узнать число дней до 1-го января 2030 года, необходимо именно эту дату указать в параметрах объекта следующим образом:

var now = new Date(); /* Объект Date по умолчанию */

var now = new Date(2030,0,1,0,0); /* Объект Date содержит Дату */

2030 - год

0 - месяц (январь)

1 - число месяца

0 - час

0 - минута

и т.д. можно указать секунду и даже миллисекунду

Реализуем поставленную задачу в javascript-коде.

Фрагмент кода

<script type="text/javascript">

var now = new Date(); /* Объект Date ориентируется на текущую Дату */
var from_1970 = now.getTime() / (1000 * 60 * 60 * 24); /* Узнаем кол-во дней */
document.write(Math.round(from_1970) + " - число дней от 1970 года до Настоящего момента <br>");

var newYear = new Date(2030,0,1); /* Объект Date ориентируется на указанную Дату */
var from_to = newYear.getTime() / (1000 * 60 * 60 * 24); /* Узнаем кол-во дней */
document.write(Math.round(from_to) + " - число дней от 1970 года до 1-го января 2030 года <br>");

document.write(Math.round(from_to) - Math.round(from_1970) + " - дней осталось до 1-го января 2030 года <br>");

var dayWeek = newYear.getDay(); /* Узнаем номер дня недели для 1-го января 2030 г. */
var days = ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница","Суббота"]; /* Массив с днями недели */

document.write("Это будет - " + days[dayWeek]);

</script>

Результат

В этом примере помимо выполнения поставленной задачи, мы узнали и вывели на экран день недели (при помощи метода getDay и массива дней недели), на который приходится 1-го января 2030 г.

Объект Date - для НЕ сегодняшней даты - Параметр в Миллисекундах

В очередной раз напомним, что по умолчанию объект Date() создается без параметров, то есть для текущей даты.

В предыдущем пункте он создавался для даты 1-го января 2030 года. Поэтому был указан с параметрами в виде: Date(2030,0,1).

Здесь мы также говорили о том, как создать объект Date для НЕ сегодняшней даты.

Но есть и другой способ создания объекта Date для НЕ сегодняшней даты. Для этого в качестве его параметра нужно указать число Миллисекунд до нужной даты.

Отсчет указанного времени будет вестись от полночи 1-го января 1970 года.

Фрагмент кода

<script type="text/javascript">

var milliS = new Date(1000 * 60 * 60 * 24); /* Параметр объекта - Число миллисекунд в сутки */

document.write(milliS);

</script>

Результат

Итак, в этом примере был создан объект Date для даты 2-го января 1970 года. Для этого в его параметрах было указано число миллисекунд в сутках. Отсчет велся от 1-го января 1970 года. При этом была учтена разница в часовых поясах GMT+0300. 

Читайте также...



Отзывы и комментарии:

Комментариев нет...

Оставить отзыв:

Ваше Имя:

Текст комментария:

Ответьте на вопрос:

Сколько дней в Високосном году?


Объект Date

Тематические публикации
Популярные заметки
Последние заметки