Spec-Zone.ru › JavaScript

Date.prototype.setDate()

Базовая поддержка Широко доступна

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.

Метод setDate() объектов Date изменяет день месяца для этой даты в соответствии с местным временем.

Попробуйте

const event = new Date("August 19, 1975 23:15:30");

event.setDate(24);

console.log(event.getDate());
// Expected output: 24

event.setDate(32);
// Only 31 days in August!

console.log(event.getDate());
// Expected output: 1

Синтаксис

setDate(dateValue)

Параметры

dateValue
Целое число, представляющее день месяца.

Возвращаемое значение

Изменяет объект Date на месте и возвращает его новый временную метку. Если dateValue является NaN (или другими значениями, которые приводятся к NaN, таким как undefined), дата устанавливается на Недопустимая дата и возвращается NaN.

Описание

Если вы укажете число вне ожидаемого диапазона, информация о дате в объекте Date будет соответствующим образом обновлена. Например, если объект Date содержит 1 июня, dateValue 40 изменит дату на 10 июля, а dateValue 0 изменит дату на последний день предыдущего месяца, 31 мая.

Поскольку setDate() работает с местным временем, переход через границу перехода на летнее время (DST) может привести к другому фактическому времени, чем ожидалось. Например, если установка даты проходит через переход "весеннее вперед" (потеря часа), разница во временных метках между новой и старой датой будет на час меньше, чем номинальная разница в днях, умноженная на 24 часа. И наоборот, переход "осенний назад" (получение часа) приведет к дополнительному часу. Если вам нужно скорректировать дату на фиксированное количество времени, рассмотрите возможность использования setUTCDate() или setTime().

Если новое местное время попадает в диапазон перехода смещения, точное время определяется с использованием того же поведения, что и опция disambiguation: "compatible" Temporal. То есть, если местное время соответствует двум моментам времени, выбирается более ранний; если местное время не существует (есть пробел), мы идем вперед на продолжительность пробела.

Примеры

Использование setDate()

const theBigDay = new Date(1962, 6, 7, 12); // noon of 1962-07-07 (7th of July 1962, month is 0-indexed)
const theBigDay2 = new Date(theBigDay).setDate(24); // 1962-07-24 (24th of July 1962)
const theBigDay3 = new Date(theBigDay).setDate(32); // 1962-08-01 (1st of August 1962)
const theBigDay4 = new Date(theBigDay).setDate(22); // 1962-07-22 (22nd of July 1962)
const theBigDay5 = new Date(theBigDay).setDate(0); // 1962-06-30 (30th of June 1962)
const theBigDay6 = new Date(theBigDay).setDate(98); // 1962-10-06 (6th of October 1962)
const theBigDay7 = new Date(theBigDay).setDate(-50); // 1962-05-11 (11th of May 1962)

Спецификации

Спецификация
Спецификация языка ECMAScript® 2027
# sec-date.prototype.setdate

Совместимость с браузерами

Настольные компьютеры Мобильные устройства Сервер
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android WebView на iOS Bun Deno Node.js
setDate
1
12
1
3
1
18
4
10.1
1
1.0
4.4
1
1.0.0
1.0
0.10.0

См. также

  • Date()
  • Date.prototype.getDate()
  • Date.prototype.setUTCDate()

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setDate

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API