Давайте теперь научимся выводить дату в определенном формате. Пусть, к примеру, мы хотим вывести на экран текущие день, месяц и год в формате год-месяц-день.
Давайте сделаем это:
let date = new Date();
console.log(date.getFullYear() + '-' + date.getMonth() + '-' + date.getDate());
Наш код, однако, имеет проблему: номера месяцев будут начинаться с нуля, а нам, скорее всего, хотелось бы, чтобы они начинались с единицы.
Исправим проблему:
let date = new Date();
console.log(date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate());
Наш код, однако, все равно не совершенен.
Но заметить это можно только в определенные
месяцы и в определенные дни. Пусть, к примеру,
сейчас 5
-го марта 2020
года.
В этом случае наша дата выведется в формате 2020-3-5. А нам хотелось бы, чтобы дата вывелась в формате 2020-03-05 - с нулями перед номерами дней и месяцев из одной цифры.
Для решения проблемы напишем функцию addZero
,
которая будет добавлять нули перед числами
от 0
до 9
:
function addZero(num) {
if (num >= 0 && num <= 9) {
return '0' + num;
} else {
return num;
}
}
Применим созданную функцию и теперь действительно получим дату в нужном нам формате:
let date = new Date();
console.log(addZero(date.getFullYear()) + '-' + addZero(date.getMonth() + 1) + '-' + addZero(date.getDate()));
Выведите на экран текущую дату-время в формате 12:59:59 31.12.2014. Используйте для всех частей даты (кроме года) созданную нами функцию для добавления нуля при необходимости.
Преобразование формата даты
Давайте теперь научимся менять формат даты. Пусть, к примеру, у нас есть строка с датой в формате год-месяц-день. Давайте поменяем формат этой даты на другой, к примеру, на такой: день/месяц/год.
Давайте решим задачу на конкретном примере.
Пусть в переменной date
лежит дата
'2025-12-31'
. Давайте преобразуем
эту дату в '31/12/2025'
Для решения задачи разобьем нашу строку '2025-12-31'
в массив, используя метод split
с разделителем дефисом. В результате в нулевом
элементе массива окажется год, в первом -
месяц, во втором - день:
let str = '2025-12-31';
let arr = str.split('-');
console.log(arr); // получим массив ['2025', '12', '31']
Теперь, обращаясь к разным элементам массива по их ключам, сформируем нужную нам строку:
let str = '2025-12-31';
let arr = str.split('-');
let result = arr[2] + '/' + arr[1] + '/' + arr[0];
console.log(result); // получим строку '31/12/2025'
Можно также использовать комбинацию методов
split
,
reverse
и join
:
let str = '2025-12-31';
let result = str.split('-').reverse().join('/');
console.log(result); // получим строку '31/12/2025'
Дана дата в формате год-месяц-день. Преобразуйте эту дату в формат день.месяц.год.