HTML5에서 날짜·시간 형식을 변경하는 기본 원리
HTML5에서는 커스텀 엘리먼트(Custom Elements)를 사용해 날짜와 시간의 표시 형식을 자유롭게 변경할 수 있습니다. 개발자가 직접 새로운 태그를 정의하고, 그 안에서 원하는 형식대로 날짜·시간을 렌더링하도록 구현할 수 있기 때문입니다.
또한 기존에 존재하는 HTML 태그의 동작을 수정하거나 재정의(오버라이드)하고 싶다면 섀도우 DOM(Shadow DOM)을 활용하면 됩니다. 섀도우 DOM은 태그 내부의 구조와 스타일을 외부와 분리된 캡슐화된 환경에서 관리할 수 있게 해주는 웹 컴포넌트 기술로, 기본 태그의 동작을 덮어쓰는 데 매우 유용합니다.
커스텀 태그 만들기
예를 들어 다음과 같이 날짜 형식을 바꿔주는 전용 태그를 직접 정의할 수 있습니다.
<date-timeformatchange></date-timeformatchange>
여기에 format 속성을 추가하면 원하는 출력 형식을 지정할 수 있습니다.
<date-timeformatchange format="dd/mm/yyyy"></date-timeformatchange>
위 예제에서는 날짜를 '일/월/년' 순서로 표시하도록 설정했습니다. 필요에 따라 'mm/dd/yyyy', 'yyyy-mm-dd' 등 다양한 형식으로 자유롭게 응용할 수 있습니다.
브라우저 호환성 주의사항
다만 IE10(Internet Explorer 10) 및 그 이하 버전은 커스텀 태그를 지원하지 않습니다. 반면 그보다 최신 버전의 브라우저들은 대부분 커스텀 엘리먼트를 정상적으로 지원합니다. 따라서 구형 브라우저까지 고려해야 하는 프로젝트라면 폴리필(polyfill) 적용 여부나 대체 구현 방안을 함께 검토하는 것이 좋습니다.