Методы объекта Date

Следующие методы можно использовать для получения информации из объекта даты:

Метод Описание
getFullYear() Получить год в формате четырех цифр (гггг)
getMonth() Получить номер месяца (0-11)
getDate() Получить число месяца (1-31)
getHours() Получить час (0-23)
getMinutes() Получить минуты (0-59)
getSeconds() Получить секунды (0-59)
getMilliseconds() Получить миллисекунды (0-999)
getTime() Получить время (количество миллисекунд, прошедших с 1 января 1970)
getDay() Получить номер дня недели (0-6)

Метод getTime()

Метод getTime() возвращает количество миллисекунд, прошедших с 1 января 1970:


var d = new Date();
document.getElementById("demo").innerHTML = d.getTime(); 

Метод getFullYear()

Метод getFullYear() возвращает год в формате четырех цифр:


var d = new Date();
document.getElementById("demo").innerHTML = d.getFullYear(); 

Метод getMonth()

Метод getMonth() возвращает номер месяца (0-11):


var d = new Date();
document.getElementById("demo").innerHTML = d.getMonth(); 

В JavaScript первый месяц (январь) имеет номер 0, таким образом у последнего, декабря, будет номер 11.

Чтобы возвращалось название месяца, можно использовать массив с именами месяцев и метод getMonth():


var d = new Date();
var months = ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь",
  "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"];
document.getElementById("demo").innerHTML = months[d.getMonth()]; 

Метод getDate()

Метод getDate() возвращает число месяца (1-31):


var d = new Date();
document.getElementById("demo").innerHTML = d.getDate(); 

Метод getHours()

Метод getHours() возвращает час (0-23):


var d = new Date();
document.getElementById("demo").innerHTML = d.getHours(); 

Метод getMinutes()

Метод getMinutes() возвращает минуты (0-59):


var d = new Date();
document.getElementById("demo").innerHTML = d.getMinutes(); 

Метод getSeconds()

Метод getSeconds() возвращает секунды (0-59):


var d = new Date();
document.getElementById("demo").innerHTML = d.getSeconds(); 

Метод getMilliseconds()

Метод getMilliseconds() возвращает миллисекунды (0-999):


var d = new Date();
document.getElementById("demo").innerHTML = d.getMilliseconds(); 

Метод getDay()

Метод getDay() возвращает номер дня недели (0-6):


var d = new Date();
document.getElementById("demo").innerHTML = d.getDay(); 

В JavaScript первым днем недели (0) считается "воскресенье", даже если в стране, где находится пользователь, первым днем недели считается "понедельник".

Чтобы возвращалось название дня недели, можно использовать массив с днями недели и метод getDay():


var d = new Date();
var days = ["Воскресенье", "Понедельник", "Вторник", "Среда",
   "Четверг", "Пятница", "Суббота"];
document.getElementById("demo").innerHTML = days[d.getDay()];

Методы даты по UTC

Кроме обычных методов есть также аналогичные методы, но возвращающие данные по UTC (Universal Time Zone):

Метод Описание
getUTCDate() То же, что getDate()
getUTCDay() То же, что getDay()
getUTCFullYear() То же, что getFullYear()
getUTCHours() То же, что getHours()
getUTCMilliseconds() То же, что getMilliseconds()
getUTCMinutes() То же, что getMinutes()
getUTCMonth() То же, что getMonth()
getUTCSeconds() То же, что getSeconds()

Методы для изменения данных объекта Date

Помимо получения данных в объекте Date также есть методы, которые позволяют изменить значения даты и времени (год, месяц, день, час, минуты, секунды, миллисекунды).

Метод Описание
setDate() Устанавливает день (1-31)
setFullYear() Устанавливает год (также можно установить месяц и день)
setHours() Устанавливает час (0-23)
setMilliseconds() Устанавливает миллисекунды (0-999)
setMinutes() Устанавливает минуты (0-59)
setMonth() Устанавливает месяц (0-11)
setSeconds() Устанавливает секунды (0-59)
setTime() Устанавливает время (количество миллисекунд, прошедших с 1 января 1970)

Метод setFullYear()

Метод setFullYear() устанавливает в объекте даты год.

В следующем примере устанавливается 2020 год:


var d = new Date();
d.setFullYear(2020);
document.getElementById("demo").innerHTML = d;

При желании при помощи метода setFullYear() также можно установить месяц и день:


var d = new Date();
d.setFullYear(2020, 11, 3);
document.getElementById("demo").innerHTML = d;

Метод setMonth()

Метод setMonth() устанавливает в объекте даты месяц (0-11):


var d = new Date();
d.setMonth(11);
document.getElementById("demo").innerHTML = d;

Метод setDate()

Метод setDate() устанавливает в объекте даты день (1-31):


var d = new Date();
d.setDate(20);
document.getElementById("demo").innerHTML = d;

Кроме этого, метод setDate() может использоваться для добавления дней к дате:


var d = new Date();
d.setDate(d.getDate() + 50);
document.getElementById("demo").innerHTML = d;

Если при добавлении дней происходит сдвиг месяцев или года, то эти изменения в объекте Date происходят автоматически.

Метод setHours()

Метод setHours() устанавливает в объекте даты час (0-23):


var d = new Date();
d.setHours(22);
document.getElementById("demo").innerHTML = d;

Метод setMinutes()

Метод setMinutes() устанавливает в объекте даты минуты (0-59):


var d = new Date();
d.setMinutes(30);
document.getElementById("demo").innerHTML = d;

Метод setSeconds()

Метод setSeconds() устанавливает в объекте даты секунды (0-59):


var d = new Date();
d.setSeconds(30);
document.getElementById("demo").innerHTML = d;

Сравнение дат

В JavaScript даты легко сравниваются.

В следующем примере текущая дата сравнивается с 14 января 2100 года:


var today, someday, text;
today = new Date();
someday = new Date();
someday.setFullYear(2100, 0, 14);

if (someday > today) {
    text = "14 января 2100 года еще не наступило.";
} else {
    text = "14 января 2100 года уже прошло.";
}
document.getElementById("demo").innerHTML = text; 

Внимание! JavaScript считает месяцы от 0 до 11. Январь — 0. Декабрь — 11.