Front/JS & jQuery

[js] moment.js 로 두자리 형식으로 시간, 분, 초 출력하

오선지♬ 2024. 8. 15. 19:49
728x90
반응형
var startTime = moment('2024-08-09T08:00:00');
var endTime = moment('2024-08-10T10:05:45');

var duration = moment.duration(endTime.diff(startTime));

var days = Math.floor(duration.asDays());
var hours = moment.utc(duration.asMilliseconds()).format("HH");
var minutes = moment.utc(duration.asMilliseconds()).format("mm");
var seconds = moment.utc(duration.asMilliseconds()).format("ss");

console.log(days + "일 " + hours + "시간 " + minutes + "분 " + seconds + "초");
// 출력: 1일 02시간 05분 45초

 

  1. moment.duration(): startTime과 endTime 간의 차이를 duration 객체로 만듭니다.
  2. 날짜 형식화 (format() 사용):
    • moment.utc(duration.asMilliseconds()): duration을 밀리초로 변환하고, 이를 moment 객체로 변환하여 UTC로 설정합니다.
    • format("HH"): 시간을 두 자리 형식으로 반환합니다.
    • format("mm"): 분을 두 자리 형식으로 반환합니다.
    • format("ss"): 초를 두 자리 형식으로 반환합니다.
  3. 일(day) 처리:
    • days = Math.floor(duration.asDays());를 사용해 asDays()로 전체 일 수를 정수로 계산합니다.

이렇게 하면 moment.js에서 제공하는 format() 메서드를 활용해 두 자리 숫자를 쉽게 포맷할 수 있습니다. 이 방법을 사용하면 앞에 0을 자동으로 붙여서 두 자리 형식으로 시간을 표시할 수 있습니다.

728x90
반응형

'Front > JS & jQuery' 카테고리의 다른 글

[jQuery][datepicker] minViewMode  (0) 2024.08.25
[js] moment.js 라이브러리의 utc() 함수  (0) 2024.08.16
[js] padStart() 함수  (0) 2024.08.14
[js] moment.js 라이브러리 duration() 함수  (0) 2024.08.13
[js] moment.js diff() 함수  (0) 2024.08.12