Date format 변경 (yyyy-mm-dd hh:mm:ss)
기존에 흔히 알려진 방법은 new Date()
로 새로운 Date 객체를 받고 메서드를 이용하여 연도, 월, 일, 시, 분, 초를 반환받아 이를 문자열로 연결하여 사용하는 방법인데, 이보다 깔끔하고 괜찮은 방법을 발견했다.
const date = new Date().toISOString().replace('T', ' ').substring(0, 19);
- Date 객체를 toISOString() 메서드를 이용하여 ISO 8601 확장 형식에 맞춰진 문자열로 반환받는다. 그러면
'2021-09-11T14:57:58.761Z'
형식으로 문자열을 리턴받음. - 1에서 반환 받은 문자열에 T를 공백으로 치환한다.
- substring을 사용하여 인덱스 0부터 19전까지의 값을 받는다.
두 번째는 위 방법을 정규표현식으로 구하는 방법인데 다음과 같다.
const date = new Date().toISOString().replace(/T/, ' ').replace(/\..+/, '');
- toISOString()까진 동일하고, 정규표현식으로 T와 dot(.)을 포함한 이후 내용들까지 치환하여 반환받는다.
정규표현식을 사용하는게 첫 번째보다 체감으로 느끼긴 힘들지만 더 느리고, 굳이 포맷 변환을 하는데 정규표현식까지 쓸 필요는 없다는 것 같다.
'Web > Javascript' 카테고리의 다른 글
문자열을 정수형으로 변환 시 parseInt()와 Number 차이점 (2) | 2022.03.18 |
---|---|
웹브라우저가 어떤 브라우저인지 확인하기 (navigator, userAgent) (0) | 2020.03.19 |
댓글