ЙажаСценарий / Говнокод #25142 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
d = new Date();
ds = d.getHours() + ":" + (d.getMinutes() / 100).toFixed(2).split(".")[1] + ":" + (d.getSeconds() / 100).toFixed(2).split(".")[1];
// а как бы вы сделали это красивее, в одну строчку (или две) и без сторонних библиотек?

Вывод времени с нулями в минутах и секундах (если они меньше 10): 5:05:00, 11:01:01, 23:03:03
Чтобы в логах (при чтении с моноширинным шрифтом) время имело одинаковую ширину.
// P.S.: к сожалению в JS нет стандартной функции format для даты.

Запостил: epicode epicode, (Updated )

Комментарии (8) RSS

  • Действительно, на методы toString и toLocaleString полагаться нельзя, потому что в разных браузерах они реализованы по-разному.

    printf и прочие функции форматирования в JS из коробки отсутствуют. Даже в ES6 ничего красивого не завезли. Завезли какие-то бесполезные шаблоны, которые можно заменить обычной ко-ко-ко-конкатенацией:
    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals

    Можно добавлять нолики с помощью регулярных выражений, но это будет не так красиво.
    Ответить
    • С точки зрения пирфоманса это лучше, чем деление. Хотя какой может быть пирфоманс у JS?

      В любом случае меньше шансов, что при округлении что-нибудь пойдёт не так.
      Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8