Получение и изменение значений компонентов даты и времени

Получить значения отдельных компонентов даты и времени позволяют следующие методы из класса Date:

  • valueOf() и getTime() — позволяют определить число миллисекунд, прошедшее с 1 января 1970 г.:
let d = new Date(1602708892000);
console.log( d.valueOf() ); // 1602708892000
console.log( d.getTime() ); // 1602708892000

Альтернативный способ получения значения:

let d = new Date(1602708892000);
console.log( d[Symbol.toPrimitive]('number') );
// 1602708892000
  • getDate() и getUTCDate() — возвращают день месяца (от 1 до 31):
let d = new Date(1602708892000);
console.log( d.getDate() );    // 14
console.log( d.getUTCDate() ); // 14
  • getMonth() и getUTCMonth() — возвращают месяц (от 0 — для января до 11 — для декабря):
let months = [ 'январь', 'февраль', 'март', 'апрель', 'май',
               'июнь', 'июль', 'август', 'сентябрь', 'октябрь',
               'ноябрь', 'декабрь' ];
let d = new Date(1602708892000);
console.log( d.getMonth() );           // 9
console.log( d.getUTCMonth() );        // 9
console.log( months[ d.getMonth() ] ); // октябрь

Для получения номера текущего месяца к возвращаемому значению необходимо прибавить единицу:

let d = new Date(1602708892000);
console.log( d.getMonth() + 1 );       // 10
  • getFullYear() и getUTCFullYear() — позволяют определить год:
let d = new Date(1602708892000);
console.log( d.getFullYear() );    // 2020
console.log( d.getUTCFullYear() ); // 2020
  • getDay() и getUTCDay() — дают возможность узнать день недели (от 0 — для воскресенья до 6 — для субботы):
let days = [ 'воскресенье', 'понедельник', 'вторник',
             'среда', 'четверг', 'пятница', 'суббота' ];
let d = new Date(1602708892000);
console.log( d.getDay() );         // 3
console.log( d.getUTCDay() );      // 3
console.log( days[ d.getDay() ] ); // среда
  • getHours() и getUTCHours() — возвращают час (от 0 до 23):
let d = new Date(1602708892000);
console.log( d.getHours() );    // 23
console.log( d.getUTCHours() ); // 20
  • getMinutes() и getUTCMinutes() — позволяют получить минуты (от 0 до 59):
let d = new Date(1602708892000);
console.log( d.getMinutes() );    // 54
console.log( d.getUTCMinutes() ); // 54
  • getSeconds() и getUTCSeconds() — возвращают секунды (от 0 до 59):
let d = new Date(1602708892000);
console.log( d.getSeconds() );    // 52
console.log( d.getUTCSeconds() ); // 52
  • getMilliseconds() и getUTCMilliseconds() — возвращают миллисекунды (от 0 до 999):
let d = new Date(16027088920156);
console.log( d.getMilliseconds() );    // 156
console.log( d.getUTCMilliseconds() ); // 156
  • getTimezoneOffset() — возвращает смещение зоны местного времени в минутах:
let d = new Date(1602708892000);
console.log( d.getTimezoneOffset() );  // -180

Методы, содержащие в названии фрагмент UTC, возвращают значения, используя часовой пояс UTC, а без него — по местному времени.

Чтобы задать значения компонентов даты и времени нужно заменить в названиях методов префикс get префиксом set (исключением является метод getTimezoneOffset()):

let d = new Date();
d.setDate(14);
d.setMonth(9);
d.setFullYear(2020);
d.setHours(20);
d.setMinutes(54);
d.setSeconds(52);
d.setMilliseconds(156);
console.log( d.toString() );
// Node.js 12: Wed Oct 14 2020 20:54:52 GMT+0300 (GMT+03:00)
// Firefox 81: Wed Oct 14 2020 20:54:52 GMT+0300
// (Москва, стандартное время)

Учебник по Node.js и JavaScript
Учебник по JavaScript (Node.js) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов