Объект Date является встроенным объектом JavaScript. Это позволяет вам получить местное время пользователя, получая доступ к системным часам компьютера через браузер. Объект Date также предоставляет несколько методов для управления, манипулирования и форматирования даты и времени.

Создание объекта Date

Прежде чем мы начнем работать с датой и временем, нам нужно создать объект Date. В отличие от других встроенных объектов, таких как массивы или функции, даты не имеют соответствующей литеральной формы: все объекты даты должны быть созданы с использованием функции конструктора Date().

Существует четыре различных способа создания объекта Date в JavaScript.

Синтаксис new Date()

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

var d = new Date();
document.write(d);

Синтаксис new Date(year, month, …)

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

Параметры года и месяца обязательные, остальные нет.

var d = new Date(2018,0,31,14,35,20,50);
document.write(d);

Эта дата фактически представляет 31 января 2018 года в 14:35:20 и 50 миллисекунд. Вы можете игнорировать часть времени и указать только часть даты, если хотите.

Синтаксис new Date(dateString)

JavaScript также позволяет создавать объект Date, передавая строку, представляющую дату, или дату и время, как показано в следующем примере:

var d = new Date("31 January 2018");
document.write(d);

Эта дата представляет собой 31 января 2018 года. Вы можете указать дату в любом допустимом варианте, например Jan 31 2018, JavaScript обработает это автоматически.

Синтаксис new Date(milliseconds)

Вы также можете определить объект Date, передав количество миллисекунд с 1 января 1970 года в 00:00:00 по Гринвичу. Это время известно как UNIX, потому что в 1970 год была создана операционная система UNIX. Вот пример:

var d = new Date(1517356800000);
document.write(d);

Эта дата представляет среду 31 января 2018 года 05:30:00 по Гринвичу (+05:30).

Создав экземпляр объекта Date, вы можете использовать его методы для выполнения различных задач, таких как получение различных компонентов даты, установка или изменение отдельных значений даты и времени и т. д. Эти методы подробно описаны ниже.

JavaScript предоставляет ярлыки, называемые литералами, для создания большей части собственного объекта без необходимости использования оператора new, например new Object(), new Array() и т. д.

Получение текущей даты и времени

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

var now = new Date();
alert(now); // Показать текущую дату и время

Создание строк даты и времени

Объект JavaScript Date предоставляет несколько методов, таких как toDateString(), toLocaleDateString() для генерации строк даты в разных форматах. Вот пример:

var d = new Date();
alert(d.toString()); // Mon Apr 15 2019 18:43:59 GMT+1000 (Владивосток, стандартное время)
alert(d.toDateString()); // Mon Apr 15 2019
alert(d.toLocaleString()); // 15.04.2019, 18:43:59
alert(d.toLocaleDateString()); // 15.04.2019
alert(d.toISOString()); // 2019-04-15T08:43:59.000Z
alert(d.toUTCString()); // Mon, 15 Apr 2019 08:43:59 GMT

Аналогично, вы можете использовать методы toLocaleTimeString(), toTimeString() объекта Date для генерации временных строк, как показано в следующем примере:

var d = new Date();
alert(d.toTimeString()); // 18:43:59 GMT+1000 (Владивосток, стандартное время)
alert(d.toLocaleTimeString()); // 18:43:59

Получение конкретных компонентов даты и времени

Если у вас есть подходящий объект даты, вам доступен ряд методов для его извлечения, например, значение месяца, даты, часов, минут и т. д. Теперь рассмотрим различные методы извлечения отдельных фрагментов информации из объекта Date.

Получение года, месяца и даты

Объект Date предоставляет несколько методов, таких как getFullYear(), getMonth(), getDay() и т.д., которые можно использовать для извлечения определенных компонентов даты из объекта Date, таких как год, день месяца, день недели соответственно В следующем примере показано, как получить определенные компоненты даты из объекта Date с помощью этих методов:

var d = new Date();
// Извлечение части даты
alert(d.getDate()); // Показать день месяца
alert(d.getDay()); // Показать день недели (0-6)
alert(d.getMonth()); // Показать месяц года (0-11)
alert(d.getFullYear()); // Показать полный год (четыре цифры)

Метод getDay() возвращает число, представляющее день недели (от 0 до 6), вместо возврата имени, такого как воскресенье или понедельник, таким образом, если день — воскресенье, метод возвращает 0; и если день — понедельник, метод возвращает 1 и так далее.

Аналогично, метод getMonth() возвращает количество месяцев (от 0 до 11) вместо имени месяца. Здесь 0 представляет первый месяц года. Поэтому, если это январь, метод возвращается 0, а не 1; а если это август, метод возвращает 7.

Получение часов, минут, секунд и миллисекунд

Аналогично, объект Date предоставляет такие методы, как getHours(), getMinutes(), getSeconds(), getTimezoneOffset() и т. д. для получения компонентов времени из объекта Date.

var d = new Date();
// Извлечение части времени
alert(d.getHours()); // Показывает количество часов (0-23)
alert(d.getMinutes()); // Показывает количество минут (0-59)
alert(d.getSeconds()); // Показывает количество секунд (0-59)
alert(d.getMilliseconds()); // Показывает количество миллисекунд (0-999)
alert(d.getTime()); // Отображение количества миллисекунд с 01.01.1970
alert(d.getTimezoneOffset()); // Отображение смещения часового пояса (от среднего времени по Гринвичу) в минутах

Метод getHours() возвращает количество часов в дне (от 0 до 23) согласно 24-часовым часам. Когда наступает полночь, метод возвращает 0; в 3:00 дня метод возвращает 15.

У объектов Date также есть методы для получения компонентов UTC. Просто поместите UTC после get, например getUTCDate(), getUTCHour(), getUTCMinutes() и так далее.

Установка значений даты и времени

Помимо получения значений даты и времени, вы также можете установить или изменить эти значения с помощью JavaScript. Это чаще всего используется в программе, где вам нужно изменить значение объекта даты с одной конкретной даты или времени на другую. Посмотрим, как это работает.

Установка года, месяца и даты

Объект Date предоставляет такие методы, как setFullYear(), setMonth() и setDate() для установки компонентов год, месяц и дата объекта Date соответственно.

Например, в следующем примере мы используем метод setFullYear() для изменения текущей даты, хранящейся в переменной, на два года вперед.

var d = new Date();
d.setFullYear(d.getFullYear() + 2);
alert(d); // Показать будущую дату

Аналогично, вы можете использовать метод setMonth() для установки или изменения части месяца объекта Date.

var d = new Date(); // Текущая дата и время
d.setMonth(0); // Устанавливает месяц на 0, январь
document.write(d);

Метод setMonth() требует целочисленного значения от 0 до 11, если вы установите значение месяца больше 11, значение года объекта даты будет увеличиваться.

Другими словами, значение 12 приводит к тому, что значение года увеличивается на 1, а значение месяца устанавливается на 0, как показано в следующем примере:

var d = new Date(2018, 5, 24); // 24 июня, 2018
d.setMonth(12); // Устанавливает месяц на 12, новая дата будет 24 января 2019
document.write(d);

Точно так же вы можете изменить часть даты:

var d = new Date(2018, 5, 24); // June 24, 2018
d.setDate(15); // Устанавливает день 15, новая дата будет 15 июня 2018
document.write(d);

Метод setDate() требует целочисленного значения от 1 до 31. Кроме того, если вы передадите значения, превышающие количество дней в месяце, месяц будет увеличиваться. Например:

var d = new Date(2018, 5, 24); // 24 июня, 2018
d.setDate(36); // Устанавливает день 36, новая дата будет 6 июля 2018
document.write(d);

Установка часов, минут и секунд

Методы установки значений времени также довольно просты. setHours(), setMinutes(), setSeconds(), setMilliseconds() могут использоваться для установки часов, минут, секунд и миллисекунд части объекта Date соответственно.

Каждый метод принимает целочисленные значения в качестве параметров. Часы варьируются от 0 до 23. Минуты и секунды от 0 до 59. А миллисекунды от 0 до 999. Вот пример:

var d = new Date(2018, 5, 24); // 24 июня, 2018 00:00:00
d.setHours(8);
d.setMinutes(30);
d.setSeconds(45);
d.setMilliseconds(600);
document.write(d);

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.