Раздел: Сайтостроение / JavaScript /

Объект Date в JavaScript

Что такое JavaScript Что такое JavaScript

Небольшая книга о JavaScript, которая поможет вам в изучении JavaScript. В книге и рассылке сведения для начинающих: что такое JavaScript, как это работает, письма, которые помогут принять решение, надо ли вам это или нет, а также полезные ссылки на обучающие материалы. Подробнее...

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

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

Объект Date в JavaScript создаётся с помощью оператора new и конструктора Date(). Вот так можно создать объект, в котором хранятся текущие дата и время:

var now = new Date();

После этого в переменной now будут храниться сведения о текущей дате и времени. Если вы попытаетесь вывести её значение на экран, то получится что-то типа этого:

Объект Date в JavaScript

Чтобы получить объект с какой-то определённой датой, можно сделать так:

var NewYear = new Date(2023, 0, 1);

После этого в переменной NewYear будет дата 01.01.2023. И обратите внимание на то, что мы указали в качестве месяца 0. Потому что номера месяцев начинаются с нуля (разработчики JavaScript, видимо, живут в каком-то своём мире).

Поскольку Date является объектом, то у него должны быть свойства и методы. И они, конечно, у него есть. Методы позволяют получать и устанавливать различные значения даты и времени, а также преобразовывать их в строку с использованием либо местного времени, либо времени по Гринвичу. Например:

NewYear.setFullYear(NewYear.getFullYear() + 1);

Здесь мы добавили год к нашему Новому Году, полученному в предыдущем примере. То есть теперь в переменной NewYear будет 2024 год.

А вот так можно узнать номер дня недели для указанной даты:

alert(NewYear.getDay());

Как вы увидели на картинке выше, данные выводятся на английском языке. Но можно преобразовать это в язык вашей операционной системы:

alert(NewYear.toLocaleString());

Здесь дата и время будут выведены уже по русски (в моём случае).

Ну а теперь немного справочных данных. Для начала синтаксис конструктора Date():

new Date()
new Date(миллисекунды)
new Date(строка_даты)
new Date(год, месяц, день, часы, минуты, секунды, мс)

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

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

Обратите внимание: эти поля даты и времени задаются на основе локального

времени, а не времени UTC (Universal Coordinated Time – универсальное скоординированное время), аналогичного GMT (Greenwich Mean Time – среднее время по Гринвичу). В качестве альтернативы можно использовать статический метод Date.UTC().

Date() может также вызываться как функция (без оператора new). При таком вызове Date() игнорирует любые переданные аргументы и возвращает текущие дату и время.

Аргументы

миллисекунды Количество миллисекунд между нужной датой и полночью 1 января 1970 года (UTC). Например, передав в качестве аргумента число 5000, мы создадим дату, обозначающую пять секунд после полуночи 1 января 1970 года.
строка_даты Единственный аргумент, задающий дату и (необязательно) время в виде строки. Строка должна иметь формат, понятный для Date.parse().
год Год в виде четырех цифр. Например, 2022 для 2022 года. Для совместимости с более ранними реализациями JavaScript к аргументу добавляется 1900, если значение аргумента находится между 0 и 99.
месяц Месяц, заданный в виде целого от 0 (январь) до 11 (декабрь).
день День месяца, заданный в виде целого от 1 до 31. Обратите внимание, что наименьшее из значений этого аргумента равно 1, а остальных аргументов – 0. Необязательный аргумент.
часы Часы, заданные в виде целого от 0 (полночь) до 23 (11 часов вечера). Необязательный аргумент.
минуты Минуты в часах, указанные в виде целого от 0 до 59. Необязательный аргумент.
секунды Секунды в минутах, указанные в виде целого от 0 до 59. Необязательный аргумент.
мс Миллисекунды в секунде, указанные в виде целого от 0 до 999. Необязательный аргумент.

Методы объекта Date

У объекта Date нет доступных для записи или чтения свойств. Вместо этого доступ к значениям даты и времени выполняется через методы. Большинство методов имеют две формы: одна для работы с локальным временем, другая для работы с универсальным временем (UTC или GMT). Если в имени метода есть буквы UTC, он работает с универсальным временем. Эти пары методов указываются в приведенном далее списке вместе. Например, методы getDay() и getUTCDay() работают одинаково, только первый - с локальным временем, а второй - с универсальным.

Методы объекта Date могут вызываться только для объектов типа Date и генерируют исключение TypeError, если вызывать их для объектов другого типа.

  • getDate(), getUTCDate(). Возвращает день месяца из объекта Date в соответствии с локальным или универсальным временем.
  • getDay(), getUTCDay(). Возвращает день недели из объекта Date в соответствии с локальным или универсальным временем. Отсчёт дней также начинается с нуля. Причём 0 - это воскресенье.
  • getFullYear(), getUTCFullYear(). Возвращает год даты в полном четырехзначном формате в локальном или универсальном времени.
  • getHours(), getUTCHours(). Возвращает поле часов в локальном или универсальном времени.
  • getMilliseconds(), getUTCMilliseconds(). Возвращает поле миллисекунд в локальном или универсальном времени.
  • getMinutes(), getUTCMinutes(). Возвращает поле минут в локальном или универсальном времени.
  • getMonth(), getUTCMonth(). Возвращает поле месяца в локальном или универсальном времени.
  • getSeconds(), getUTCSeconds(). Возвращает поле секунд в локальном или универсальном времени.
  • getTime(). Возвращает внутреннее представление (миллисекунды) объекта Date. Обратите внимание: это значение не зависит от часового пояса, поэтому отдельный метод getUTCTime() не нужен.
  • getTimezoneOffset(). Возвращает разницу в минутах между локальным и универсальным представлениями даты. Обратите внимание: возвращаемое значение зависит от того, действует ли для указанной даты летнее время.
  • getYear(). Возвращает поле года в объекте Date. Признан устаревшим, вместо него лучше применять метод getFullYear().
  • setDate(), setUTCDate(). Устанавливает день месяца в Date в соответствии с локальным или универсальным временем.
  • setFullYear(), setUTCFullYear(). Устанавливает год (и, возможно, месяц и день) в Date в соответствии с локальным или универсальным временем.
  • setHours(), setUTCHours(). Устанавливает час (и, возможно, поля минут, секунд и миллисекунд) в Date в соответствии с локальным или универсальным временем.
  • setMilliseconds(), setUTCMilliseconds(). Устанавливает поле миллисекунд в Date в соответствии с локальным или универсальным временем.
  • setMinutes(), setUTCMinutes(). Устанавливает поле минут (и, возможно, поля секунд и миллисекунд) в Date в соответствии с локальным или универсальным временем.
  • setMonth(), setUTCMonth(). Устанавливает поле месяца (и, возможно, дня месяца) в соответствии с локальным или универсальным временем.
  • setSeconds(), setUTCSeconds(). Устанавливает поле секунд (и, возможно, поле миллисекунд) в соответствии с локальным или универсальным временем.
  • setTime(). Устанавливает поля объекта Date в соответствии с миллисекундным форматом.
  • setYear(). Устанавливает поле года объекта Date. Признан устаревшим, вместо него лучше использовать setFullYear().
  • toDateString(). Возвращает строку, представляющую дату из Date для локального часового пояса.
  • toGMTString(). Преобразует Date в строку, беря за основу часовой пояс GMT. Признан устаревшим, вместо него лучше использовать метод toUTCString().
  • toLocaleDateString(). Возвращает строку, представляющую дату из Date в локальном часовом поясе в соответствии с локальными соглашениями по форматированию дат.
  • toLocaleString(). Преобразует Date в строку в соответствии с локальным часовым поясом и локальными соглашениями о форматировании дат.
  • toLocaleTimeString(). Возвращает строку, представляющую время из Date в локальном часовом поясе на основе локальных соглашений о форматировании времени.
  • toString(). Преобразует Date в строку в соответствии с локальным часовым поясом.
  • toTimeString(). Возвращает строку, представляющую время из Date в локальном часовом поясе.
  • toUTCString(). Преобразует Date в строку, используя универсальное время.
  • valueOf(). Преобразует объект Date в его внутренний миллисекундный формат.
  • Date.parse(). Анализирует строковое представление даты и времени и возвращает внутреннее представление этой даты в миллисекундах.
  • Date.UTC(). Возвращает миллисекундное представление указанной даты и времени UTC.

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

Объект Date – это тип данных, встроенный в язык JavaScript. Объекты Date создаются с помощью представленного ранее синтаксиса new Date(). После создания объекта Date можно воспользоваться его многочисленными методами.

Стандарт ECMAScript требует, чтобы объект Date мог представить любые дату и время с миллисекундной точностью в пределах 100 миллионов дней до и после 01.01.1970. Этот диапазон равен ±273 785 лет, поэтому часы JavaScript будут правильно работать до 275 755 года. Надеюсь, доживём )))


Программирование на JavaScript с Нуля до Гуру 2.0 Программирование на JavaScript

Видеокурс о программировании на JavaScript. Содержит 8 больших разделов от основ до работы с сетевыми запросами. В комплекте 5 подарков - мини-курсов по темам, связанным с сайтостроением. 72 урока продолжительностью более 13 часов. Упражнения и примеры исходных кодов. Поддержка от автора. Подробнее...
Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика