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)
Спецификации
Совместимость с браузерами
| Настольные компьютеры | Мобильные устройства | Сервер | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
См. также
© 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