11 Модуль - Таймеры. Promise API -- 02 Класс Date Flashcards
Какой метод используем для создания даты?
Нужно просто создайть новый экземпляр встроенного класса Date.
const date = new Date();
console.log(date); // Mon Mar 19 2018 16:51:32 GMT+0200 (FLE Standard Time)
Поскольку не были переданы аргументы, будет создана текущая дата и время. Тем не менее, можно дополнительно передать строку или число в Date, и результатом будет объект описывающий указанную дату и время.
Какие способы ты знаешь для создания новых объектов с нужным тебе временем?
1 Вариант:
Если передать строку, она будет обработана методом Date.parse(), чтобы вернуть объект Date.
const date = new Date(‘March 4, 2017’);
console.log(date); // Sat Mar 04 2017 00:00:00 GMT+0200 (FLE Standard Time)
2 Вариант:
Другой способ создания новых объектов Date — это передать 7 чисел. Эти числа описывают год, месяц, день, час, минуту, секунду и миллисекунду.
new Date(year, month, date, hours, minutes, seconds, ms)
const date = new Date(2000, 5, 8, 12, 0, 0, 0);
// Индексы месяцев начинаются с 0, поэтому 5-й месяц это июль.
console.log(date); // Thu Jun 08 2000 12:00:00 GMT+0300 (FLE Daylight Time)
В области информатики существует концепция эпохи Unix. Этот момент времени установлен на
полночь 1 января 1970 года в часовом поясе UTC.
Unix время
С учетом этой системы отсчета, если вы передаете число объекту Date, это число представляет собой количество
миллисекунд, прошедших с тех пор.
const date = new Date(1000000);
console.log(date); // Thu Jan 01 1970 02:16:40 GMT+0200 (FLE Standard Time)
Unix время
Чтобы увидеть число милисекунд от этой даты до текущего момента, используется статический метод
Date.now()
Пример:
const date = Date.now();
console.log(date); // 1521471595501
Специальные методы для форматирования дат.
Это делается вызовом date.toLocaleString(locale, opts)