Нам нужно получить строку даты и времени, где время представлено только часами и минутами — без секунд. Как это сделать?
Создадим объект Даты (Date) в JavaScript, чтобы было от чего отталкиваться:
let d = new Date()
Теперь мы можем получить полную строку временной метки в виде строки:
d.toLocaleString() '21.07.2023, 10:46:22'
Данные для даты будут получены на основе Локали операционной системе, в которой работает среда выполнения JavaScript кода.
В нашем случае мы получаем шесть смысловых единиц:
- номер дня в месяце
- номер месяца в году
- номер года в тысячелетии
- номер часа по 24 часовому диапазону
- номер минуты по 60 минутному диапазону
- номер секунды по 60 секундному диапазону
Эти 6 пунктов визуально поделены на два блока, отделённые одной запятой.
Как выкинуть секунды из времени в JavaScript?
Теперь мы можем обрезать получившуюся строку по последним символам при помощи метода slice() для экземпляров String.
d.toLocaleString().slice(0,-3) '21.07.2023, 10:46'
Сборка даты и времени без секунд в JavaScript через встроенные методы получения отдельных частей (смысловых единиц)?
Мы можем отдельными методами получить строку даты и времени без секунд.
d.getDate() + '.' + d.getMonth() + '.' + d.getFullYear() + ', ' + d.getHours() + ':'+ d.getMinutes()
Важно знать, что эти методы возвращают числа, а не строки. По этой причине мы не сможем получить число вида «07». Такая запись невозможна для числа.
Также можно получить проблему с нумерацией месяцев так как она начинается с нуля, а не с единицы.
Поэтому нам нужно подстраховаться для решения этой проблемы.
Информационные ссылки
Стандарт ECMAScript — Раздел «21.4 Date Objects» — https://tc39.es/ecma262/multipage/numbers-and-dates.html#sec-date-objects