정보실

웹학교

정보실

javascript Javascript 30초 Snippet - Date : formatDuration

본문

주어진 밀리 초의 사람이 읽을 수 있는 형식을 반환합니다.


https://github.com/30-seconds/30-seconds-of-code 


ms를 적절한 값으로 나누어 일,시, 분, 초 및 밀리 초에 대한 적절한 값을 얻습니다. 0이 아닌 값만 유지하려면 Array.prototype.filter()와 함께 Object.entries()를 사용하십시오. 

Array.prototype.map()을 사용하여 각 값에 대한 문자열을 작성하고 적절히 복수화 하십시오. 

tring.prototype.join(',')을 사용하여 값을 문자열로 결합하십시오.


const formatDuration = ms => {
  if (ms < 0) ms = -ms;
  const time = {
    day: Math.floor(ms / 86400000),
    hour: Math.floor(ms / 3600000) % 24,
    minute: Math.floor(ms / 60000) % 60,
    second: Math.floor(ms / 1000) % 60,
    millisecond: Math.floor(ms) % 1000
  };
  return Object.entries(time)
    .filter(val => val[1] !== 0)
    .map(([key, val]) => `${val} ${key}${val !== 1 ? 's' : ''}`)
    .join(', ');
};


ex)


formatDuration(1001); // '1 second, 1 millisecond'
formatDuration(34325055574); // '397 days, 6 hours, 44 minutes, 15 seconds, 574 milliseconds'




페이지 정보

조회 105회 ]  작성일19-11-25 12:41

웹학교