Есть ли собственный способ создания строки времени? - PullRequest
0 голосов
/ 02 февраля 2020

Я изменил код ниже, чтобы создать строку времени, которая выглядит именно так, как я хочу. Именно так мои часы Timex отображают время.

Есть ли родной способ сделать это? Я чувствую, что, должно быть, заново изобрел колесо, так как наверняка многим этот метод был нужен до меня.

const api = {};

// gets a time string which is human readable using the Date object
api.getTime = function() {
  const date = new Date();

  // get minutes and add a 0 if needed
  let min = date.getMinutes();
  min =  (parseInt(min, 10) < 10 ? '0' : '') + min;

  // get hours, determine AM or PM and change to 12 hours
  // not preceding 0 is needed
  let hour = date.getHours();
  const amPm = hour >= 12 ? 'PM' : 'AM';
  hour = ( hour % 12 ) || 12;

  // get seconds and add a 0 if needed
  let sec = date.getSeconds();
  sec =  (parseInt(sec, 10) < 10 ? '0' : '') + sec;

  return `${hour}:${min}:${sec} ${amPm}`;
}

module.exports = api;

1 Ответ

2 голосов
/ 02 февраля 2020

Я думаю, что это определенно помогает, если вы посмотрите на toLocaleTimeString(), из документации:

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

Вы можете проверить эту функцию следующим образом:

const date = new Date().toLocaleTimeString();
console.log(date);

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...