Мы познакомились с объектами в JavaScript и уже умеем создавать объекты и работать с ними. Однако в JavaScript есть и уже готовые для работы объекты, в частности это объект Date, который позволяет работать с датой и временем в JavaScript.
Итак, для того, чтобы работать с датой в JavaScript, нам необходим объект Date. Создать данный объект очень просто, это делается с помощью ключевого слова new. Давайте создадим нужный нам объект:
1.var date = new Date();2.console.log(typeof date);3.console.log(date);
Как видим, это действительно объект, о чем нам сообщил метод typeof в первой распечатке. Во второй распечатке переменной date мы видим текущую дату и время… вот только формат странный какой-то.
Для того, чтобы получить из данного объекта только нужные нам фрагменты и в нужном формате, JavaScript предлагает нам набор методов для работы с объектом Date. Давайте рассмотрим их и попробуем получить отдельно год, месяц, день, часы, минуты и секунды.
getFullYear() — позволяет получить год в формате 4-х цифр;
getMonth() — возвращает 2 цифры месяца от 0 до 11;
getDate() — возвращает число от 1 до 31;
getHours() — возвращает час;
getMinutes() — возвращает минуты;
getSeconds() — возвращает секунды;
getMilliseconds() — возвращает миллисекунды (0,001 секунды);
1.var date = new Date();2.console.log('Год: ' + date.getFullYear());3.console.log('Месяц: ' + date.getMonth());4.console.log('Число: ' + date.getDate());5.console.log('Час: ' + date.getHours());6.console.log('Минуты: ' + date.getMinutes());7.console.log('Секунды: ' + date.getSeconds());8.console.log('Миллисекунды: ' + date.getMilliseconds());
Еще раз обращаю ваше внимание на месяц. Метод getMonth() возвращает число месяца от 0 до 11, т.е. 0 соответствует январю, 11 — декабрю. Давайте подумаем, как вместо цифры месяца мы можем вывести название месяца. Сделать это не сложно:
1.var date = new Date();2.var monthes = ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль','Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'];3.console.log('Текущий месяц: ' + monthes[date.getMonth()]);
Давайте теперь попробуем вывести дату в человеческом формате:
1.var date = new Date();2.var monthes = ['Января', 'Февраля', 'Марта', 'Апреля', 'Мая', 'Июня', 'Июля','Августа', 'Сентября', 'Октября', 'Ноября', 'Декабря'];3.var day = date.getDate(),4.month = monthes[date.getMonth()],5.year = date.getFullYear(),6.hours = date.getHours(),7.minutes = (date.getMinutes() < 10) ? '0' + date.getMinutes() : date.getMinutes();8.console.log('Сегодня: ' + day + ' ' + month + ' ' + year + ' ' + hours + ':' + minutes);
Обратите внимание на получение минут. Метод getMinutes(), как и метод getHours(), возвращают минуты и часы без ведущего нуля, т.е. если на часах время, скажем 14:08, тогда бы метод getMinutes() вернул нам просто цифру 8 и мы бы увидели такое время в консоли — 14:8. Смотрится не очень, поэтому для определения минут мы использовали тернарный оператор условия, который проверяет полученное значение минут. Если оно меньше 10, тогда мы добавим к этому значению ведущий 0. То же самое вы можете сделать и для часов самостоятельно.
Ну и еще один пример даты, где вместо строкового представления месяца будет его числовое представление:
1.var date = new Date();2.var monthes = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11','12'];3.var day = date.getDate(),4.month = monthes[date.getMonth()],5.year = date.getFullYear(),6.hours = date.getHours(),7.minutes = (date.getMinutes() < 10) ? '0' + date.getMinutes() : date.getMinutes();8.console.log('Сегодня: ' + day + '.' + month + '.' + year + ' ' + hours + ':' + minutes);Теперь мы получим немного другой формат даты.

Код выше выглядит немного сложно для, казалось бы, такой несложной задачи. На самом деле для объекта Date в JavaScript есть десятки других методов, некоторые из которых позволяют проще решить поставленную задачу. В следующих статьях мы узнаем о них.
Источник: https://webformyself.com/data-i-vremya-v-javascript-chast-1/
