Дата и время в JavaScript. Часть 1

Суббота, 03 Декабрь 2016 18:12

Мы познакомились с объектами в JavaScript и уже умеем создавать объекты и работать с ними. Однако в JavaScript есть и уже готовые для работы объекты, в частности это объект Date, который позволяет работать с датой и временем в JavaScript.

Итак, для того, чтобы работать с датой в JavaScript, нам необходим объект Date. Создать данный объект очень просто, это делается с помощью ключевого слова new. Давайте создадим нужный нам объект:

1.var date = new Date();
2.console.log(typeof date);
3.console.log(date);
 

Дата и время в JavaScript

Как видим, это действительно объект, о чем нам сообщил метод 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());
 

Дата и время в JavaScript

Еще раз обращаю ваше внимание на месяц. Метод getMonth() возвращает число месяца от 0 до 11, т.е. 0 соответствует январю, 11 — декабрю. Давайте подумаем, как вместо цифры месяца мы можем вывести название месяца. Сделать это не сложно:

1.var date = new Date();
2.var monthes = ['Январь''Февраль''Март''Апрель''Май''Июнь''Июль','Август''Сентябрь''Октябрь''Ноябрь''Декабрь'];
3.console.log('Текущий месяц: ' + monthes[date.getMonth()]);
 

Дата и время в JavaScript

Давайте теперь попробуем вывести дату в человеческом формате:

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);
 

Дата и время в JavaScript

Обратите внимание на получение минут. Метод 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);
 

Теперь мы получим немного другой формат даты.

Дата и время в JavaScript

Код выше выглядит немного сложно для, казалось бы, такой несложной задачи. На самом деле для объекта Date в JavaScript есть десятки других методов, некоторые из которых позволяют проще решить поставленную задачу. В следующих статьях мы узнаем о них.

Источник: https://webformyself.com/data-i-vremya-v-javascript-chast-1/