JavaScript: преобразование минут в двузначный формат

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Для того чтобы представить минуты в двузначном формате, используется метод padStart(2, '0') совместно с getMinutes(). Этим способом можно гарантированно отобразить значения минут двумя цифрами:

JS
Скопировать код
const minutes = new Date().getMinutes().toString().padStart(2, '0');
console.log(minutes); // Выведет от "00" до "59"
Кинга Идем в IT: пошаговый план для смены профессии

В деталях о минутах

Правильный формат отображения минут существенен для корректного восприятия времени. Разберём несколько подходов.

Мгновенное решение с padStart

Метод padStart дополняет символами строку с начала до требуемой длины. Приведём минуты к двузначному формату:

JS
Скопировать код
const minutes = new Date().getMinutes().toString();
const formatted = minutes.padStart(2, '0'); // Не забываем о однозначных числах
console.log(formatted); // Теперь всегда две цифры, пусть и дополнены нулями при необходимости!
Подробнее об этом расскажет наш спикер на видео
skypro youtube speaker

toLocaleString: Учтём локализацию

Метод toLocaleString учитывает локализацию при форматировании времени:

JS
Скопировать код
const date = new Date();
const options = { minute: '2-digit' }; 
const localMinutes = date.toLocaleString("ru-RU", options); // Применяем формат '2-digit'
console.log(localMinutes); // Преобразуем однозначные минуты в формат от "00" до "59".

Такой подход идеально подойдёт, если необходимо учесть локальные настройки пользователя.

Создаём собственную функцию: демонстрация переиспользования

Вполне возможно создать собственный метод преобразования:

JS
Скопировать код
const leadingZero = num => num < 10 ? '0' + num : num.toString();
const minutes = leadingZero(new Date().getMinutes()); // Гибкость и переиспользуемость в одном
console.log(minutes); // Как и предполагалось, получаем от "00" до "59"

Благодаря стрелочным функциям (интродуцированным в ES6) ваш код становится более компактным и предсказуемым.

Манипуляции с массивами: стрелочные функции в действии

Когда нужно обработать множество значений, возможности ES6 становятся незаменимыми:

JS
Скопировать код
const timesArray = [new Date().setMinutes(1), new Date().setMinutes(5)];
const formattedMinutesArray = timesArray.map(date => new Date(date).getMinutes().toString().padStart(2, '0'));
console.log(formattedMinutesArray); // Трансформируем массив из "золушек" в "принцесс"

Такие вычисления обеспечивают уверенность и позволяют синхронно обрабатывать данные.

По пути кросс-браузерной совместимости

Для разработчика важно уметь обеспечить совместимость с различными браузерами. Проверка совместимости выбранных вами методов на специализированных сайтах, таких как caniuse.com, является обязательной процедурой перед принятием решения о конкретном способе форматирования минут.

Визуализация

Воспринимайте getMinutes() как волшебника, управляющего временем и превращающего однозначный формат в двузначный:

Markdown
Скопировать код
Значение минут: 4
По умолчанию: 🕒 4
Отформатированное время: 🕒 04

Мы добавляем "защитное заклятье" к нашему волшебнику времени:

JS
Скопировать код
const minutes = new Date().getMinutes().toString();
const formattedMinutes = Number(minutes) < 10 ? `0${minutes}` : minutes;

Результат: Наш маг восторгается результатом: от ⏲️ 00 до ⏲️ 59. Запомните, ему больше по душе padStart()!

Избегаем ошибок

Как волшебству, так и методам работы с датами и временем в JavaScript свойственны свои тонкости.

Изчезающий .length

При вызове date.getMinutes().length для определения длины результата метода getMinutes() вы разочаруетесь: числовой тип данных не имеет свойства .length.

Несуществующие методы

Попытка применения методов строк к числам, не преобразованным в строку, окончится неудачей. Всегда используйте toString() перед строковыми операциями.

Знание тоже сила

Важно понять особенности работы с методами Date. Учтите, что getMinutes() возвращает число, которое нужно привести к строке перед форматированием.

Глубокое погружение

Чтобы быть готовым к более утончённой работе со временем, рассмотрим несколько сложных тем:

Мощь Internationalization API

API перевода в ECMAScript предлагает обширные возможности форматирования даты и времени с учётом локальных стандартов.

Эффективность в веб-разработке

Повышайте ваше мастерство, изучая методы работы с датами и временем в JavaScript. "Тайная комната" открывается не элементарным "Alohomora", а требует глубокого понимания и владения кода.

Полезные материалы

  1. Date.prototype.getMinutes() – JavaScript | MDN – подробная документация по методу getMinutes() в JavaScript.
  2. Javascript add leading zeroes to date – Stack Overflow – рекомендации по добавлению ведущих нулей.
  3. String.prototype.padStart() – JavaScript | MDN – руководство по использованию padStart().
  4. Template literals | CSS-Tricks – обучающий материал по шаблонным литералам.
  5. Quick Tip: How to Use the Ternary Operator in JavaScript — SitePoint – руководство по применению тернарного оператора в JavaScript.
  6. The modern mode, "use strict" – введение в строгий режим "use strict".
  7. How To Use the JavaScript Developer Console | DigitalOcean – практическое руководство по использованию консоли JS для разработчиков.
Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей
Какой метод используется для преобразования минут в двузначный формат в JavaScript?
1 / 5