Перейти к содержанию

Работа с датами и временем

Начало урока

Работа с датами и временем

Читаем часы, считаем даты и обходим классические ловушки

Главная идея: почти любой настоящий программе нужно знать, когда что-то произошло: когда сохранён файл, когда зарегистрировался пользователь, сколько дней осталось до дня рождения. JavaScript даёт Node один встроенный инструмент для всего этого - объект Date. Он мощный, но у него есть несколько знаменитых сюрпризов. Когда вы их узнаете, даты перестанут пугать.
К концу вы сможете:
  • создать Date для текущего момента или для конкретного дня,
  • прочитать из даты год, месяц, день и время,
  • сравнивать две даты и выполнять арифметику (например, "сколько дней осталось?"),
  • понимать метки времени, длительности и ловушки нумерации месяцев с нуля, часовых поясов и перехода на летнее время.

1. Создаём дату

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

const now = new Date();                 // прямо сейчас, этот самый момент
const party = new Date(2026, 0, 15);    // конкретный день: 15 января 2026
const iso = new Date('2026-07-15');     // из текстовой строки (формат ISO)

Внимание - месяцы начинаются с 0! В new Date(2026, 0, 15) среднее число - это месяц, и январь - это 0, а не 1. Значит, декабрь - это 11. А вот день месяца, как ни странно, всё равно начинается с 1. Эта "нумерация месяцев с нуля" - самая знаменитая ловушка Date, помните о ней всю дорогу.

Аналогия. Представьте месяцы как полку из 12 книг, пронумерованных как позиции массива: первая книга (январь) стоит на месте 0, последняя (декабрь) - на месте 11. А номер дня написан на странице как в обычном календаре: 15-е - это 15.

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

Продолжите этот урок на YourAIZone

В полном уроке — объяснение целиком, разобранные примеры, частые ошибки, тесты с мгновенной проверкой и ИИ-репетитор. Начните сразу как гость или создайте аккаунт, чтобы сохранять прогресс.

В полном уроке

  • Объяснение целиком
  • Разобранные примеры
  • Частые ошибки и как их избежать
  • Тестовые вопросы: 15
  • ИИ-репетитор, который отвечает на вопросы по теме
  • Отслеживание прогресса для ученика, родителей и учителя