getDate() возвращает день месяца из объекта Date.
Если говорить просто, этот метод достаёт число месяца из даты, например 1, 15 или 31.
Синтаксис
Базовая запись выглядит так:
date.getDate()
Где:
date- это объектDate
Аргументы этому методу не нужны.
Что возвращает getDate()
Метод возвращает число от 1 до 31.
const date = new Date(2025, 0, 15);
console.log(date.getDate()); // 15
console.log(typeof date.getDate()); // "number"
Это важно: getDate() возвращает именно день месяца, а не день недели.
Простой пример
const date = new Date(2025, 0, 15);
console.log(date.getDate()); // 15
Здесь:
2025- год0- январь15- день месяца
Метод возвращает 15, потому что это число месяца в указанной дате.
Пример с началом и концом месяца
const firstDay = new Date(2025, 0, 1);
const lastDay = new Date(2025, 0, 31);
console.log(firstDay.getDate()); // 1
console.log(lastDay.getDate()); // 31
Так хорошо видно, что диапазон значений идёт от 1 до 31.
getDate() не возвращает день недели
Это одна из самых частых ошибок.
Многие видят слово Date и думают, что метод вернёт что-то вроде понедельника, вторника или номер дня недели. Но это не так.
getDate() возвращает именно число месяца.
const date = new Date(2025, 0, 15);
console.log(date.getDate()); // 15
Чем getDate() отличается от getDay()
Эти методы очень часто путают.
getDate()возвращает день месяцаgetDay()возвращает день недели
const date = new Date(2025, 0, 15);
console.log(date.getDate()); // 15
console.log(date.getDay()); // например, 3
То есть:
getDate()отвечает за число месяцаgetDay()отвечает за день недели
Чем getDate() отличается от getMonth()
Эти методы тоже легко перепутать.
getDate()возвращает день месяцаgetMonth()возвращает месяц
const date = new Date(2025, 0, 15);
console.log(date.getDate()); // 15
console.log(date.getMonth()); // 0
getDate() не меняет дату
Метод только читает значение дня месяца.
Он не изменяет исходный объект Date.
const date = new Date(2025, 0, 15);
const day = date.getDate();
console.log(day); // 15
console.log(date); // исходная дата остаётся той же
getDate() работает по локальному времени
Это важный момент.
Метод getDate() смотрит на дату с точки зрения локального часового пояса пользователя.
Если вам нужен день месяца именно по UTC, используют getUTCDate().
Чем getDate() отличается от getUTCDate()
Разница такая:
getDate()возвращает день месяца по локальному времениgetUTCDate()возвращает день месяца поUTC
Обычно результат одинаковый, но возле границы суток он может отличаться.
const date = new Date(Date.UTC(2025, 0, 1, 0, 0, 0));
console.log(date.getUTCDate()); // 1
Если вы работаете с серверным временем, ISO-строками и UTC, этот нюанс полезно помнить.
Когда это полезно
getDate() особенно удобен, когда:
- нужно получить число месяца из даты
- вы формируете дату для интерфейса
- сравниваете даты по дню месяца
- проверяете, какое число сегодня
Пример:
const today = new Date();
if (today.getDate() === 1) {
console.log("Сегодня первое число");
}
Проверка дня месяца у разных дат
Метод удобно использовать, когда нужно быстро достать число месяца из нескольких значений.
const first = new Date(2025, 0, 1);
const second = new Date(2025, 0, 15);
console.log(first.getDate()); // 1
console.log(second.getDate()); // 15
Невалидная дата даёт NaN
Если объект Date содержит некорректную дату, результатом будет NaN.
const date = new Date("invalid");
console.log(date.getDate()); // NaN
Это полезно помнить, если дата приходит из формы, API или пользовательского ввода.
getDate() не создаёт дату и не форматирует строку
Этот метод не создаёт новую дату и не превращает её в текст.
Он только возвращает число месяца.
const date = new Date(2025, 0, 15);
console.log(date.getDate()); // 15
Если нужен человекочитаемый формат даты, его придётся собирать отдельно.
Частые ошибки
Путать getDate() и getDay()
const date = new Date(2025, 0, 15);
console.log(date.getDate()); // 15
console.log(date.getDay()); // день недели
getDate() возвращает число месяца, а не день недели.
Путать getDate() и getMonth()
const date = new Date(2025, 0, 15);
console.log(date.getDate()); // 15
console.log(date.getMonth()); // 0
Это два разных метода.
Вызывать getDate() не у объекта Date
Правильно:
const date = new Date();
console.log(date.getDate());
Неправильно:
Date.getDate();
Метод getDate() работает у экземпляра Date, а не у самого объекта Date.
Забывать про локальное время
getDate() использует локальный часовой пояс пользователя.
Если важен именно UTC, лучше смотреть в сторону getUTCDate().
Не учитывать NaN у невалидной даты
const date = new Date("invalid");
console.log(date.getDate()); // NaN
Если дата может быть некорректной, полезно сначала проверить сам объект даты.
Быстрая памятка
getDate()вызывается у объектаDate- метод возвращает день месяца числом
- диапазон значений: от
1до31 getDate()не возвращает день недели- для дня недели есть
getDay() getDate()работает по локальному времени- для
UTCестьgetUTCDate() - у невалидной даты результатом будет
NaN
Коротко
getDate() в JavaScript нужен, чтобы получить день месяца из объекта Date. Главное, что стоит запомнить: метод возвращает число от 1 до 31, работает по локальному времени, не изменяет саму дату и его очень важно не путать с getDay(), который отвечает уже за день недели.