JavaScript

Что такое методы дат в JavaScript

Как работать с датами JavaScript

С датами в JavaScript может быть сложно работать из-за их сложности. Это может показаться не таким уж сложным, но здесь важно запомнить их. В отличие от фреймворков Node.js, даты ванильного JavaScript не имеют таких методов, как .add() или .subtract(), любое количество дней или лет.

Инициализация дат

Существует 4 конкретных способа создания/инициализации новой даты.

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

Mon Jun 13 2022 16:59:37 GMT+0200 (CEST).

new Date(millisecond) — Таким образом, вы можете создать новую дату с добавлением даты January 1, 1970 в миллисекундах. Пример возврата new Date(1000)

Thu Jan 01 1970 01:00:01 GMT+0100 (CEST).

new Date(date_string) — таким образом вы можете создать новую дату, передав ей строку даты, и строка будет проанализирована. Пример строки даты —

"January 8, 2020 15:00:00".

new Date(year, month, day, hour, minute, second) — таким образом вы можете создать новую дату на основе нескольких переданных ей свойств. Это лучший способ создать дату, если вам не нужно текущее время.

Количество параметров может быть от 2 до 6, переходя слева. Месяцы имеют индекс 0, поэтому месяцы могут быть от 0 до 11.

Пример возврата new Date(2020, 0, 8, 15, 0, 0)Wed Jan 08 2020 15:00:00 GMT+0100 (CEST).

Методы даты

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

Связанные с датой

.getFullYear() — возвращает полный год, т.е. г.: 2020

.getMonth() — возвращает индекс месяца в году (0–11), т.е. г.: 0

.getDate() — возвращает день в месяце, т.е. г.: 31

.getDay() — возвращает индекс дня в неделе (0–6), т.е. г.: 6

Связанный со временем

.getHours() — возвращает часы, т.е. г.: 15

.getMinutes() — возвращает минуты, т.е. г.: 20

.getSeconds() — возвращает секунды, т.е. г.: 35

.getTime() — возвращает дату в миллисекундах с January 1, 1970, т.е. г.: 1636725600000

Связанный с локалью

.toLocaleString() — возвращает составную строку даты и времени, т.е. г.: 11/12/2021, 3:00:00 PM

.toLocaleDateString() — возвращает простой формат даты, т.е. г.: 11/12/2021

.toLocaleTimeString() — возвращает простой формат времени, т.е. г.: 3:00:00 PM

Связанный с набором

Вы можете установить отдельные параметры даты аналогично тому, как вы их получаете, просто замените ключевое слово в методе getset соответствующим параметром. Например, .getHours().setHours(hours).

UTC-связанный

Если вы хотите получить/установить отдельную часть даты, мы можем сделать это аналогично тому, как мы их получаем и устанавливаем, просто добавьте ключевое слово UTC после get/set. Например, .getFullYear().getUTCFullYear().

Заключение

Даты очень важны для функционирования подпрограмм, связанных с датой и временем. Если вы работаете в Node.js, может быть лучше установить библиотеку NPM, которая позаботится о ваших датах, например Moment.js. Если вы используете ванильный JavaScript, я надеюсь, что эта статья помогла вам немного прояснить ситуацию. Вы всегда можете вернуться сюда и использовать его как шпаргалку.

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Посетите наш Community Discord и присоединитесь к нашему Коллективу талантов.