자바스크립트 Intl.DateTimeFormat을 사용하여 지역화된 시간 표시하기

자바스크립트에서 날짜와 시간을 표시해야 할 때, 일반적으로 Date 객체를 사용합니다. 하지만 이는 시간을 국제화된 형식으로 표시하는데 제한이 있습니다. 이때 Intl.DateTimeFormat을 사용하면 지역화된 시간을 표시할 수 있습니다.

Intl.DateTimeFormat은 현재 로케일에 맞게 시간을 표시해주는 인터페이스입니다. 다양한 옵션을 설정하여 원하는 시간 포맷으로 결과를 얻을 수 있습니다. 다음은 Intl.DateTimeFormat을 사용하여 간단한 예시를 보여드리겠습니다.

예시

const date = new Date();
const options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric', hour: 'numeric', minute: 'numeric' };
const formattedDate = new Intl.DateTimeFormat('ko-KR', options).format(date);

console.log(formattedDate);

위 예시에서는 new Date()를 통해 현재 시간을 가져와 변수 date에 저장합니다. 그리고 원하는 형식을 options 변수에 설정합니다. 여기서는 ‘금요일, 2022년 1월 14일 오전 10:30’과 같은 형식으로 지역화된 시간을 표시하기 위해 { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric', hour: 'numeric', minute: 'numeric' }를 설정했습니다.

마지막으로, Intl.DateTimeFormat 생성자에 로케일(‘ko-KR’)과 옵션(options)을 전달하여 formattedDate 변수에 표시할 지역화된 시간을 얻습니다.

결과

위 코드를 실행하면, 다음과 같은 결과가 콘솔에 출력됩니다.

금요일, 2022년 1월 14일 오전 10:30

이와 같이 Intl.DateTimeFormat을 사용하면 간단하게 자바스크립트에서 지역화된 시간을 표시할 수 있습니다.

참고 자료