728x90
반응형
자바스크립트로 날짜 문자열을 "YYYY-MM-DD hh:mm:ss" 형식으로 만드는 방법을 정리해 둡니다.
"Date" 클래스의 getFullYear(), getMonth, getDate()
가장 쉬운방법으로 "Date" 클래스의 getFullYear(), getMonth, getDate() 함수를 이용하면 다음과 같이 "YYYY-MM-DD" 문자열을 만들 수 있습니다.
let current_date = new Date()
let current_date_string = current_date.getFullYear() + '-'
+ (current_date.getMonth() + 1) + '-' + current_date.getDate()
// Result
// 2022-8-2
위와 같이 수행하면 10이하의 숫자인 경우, 위와 같이 한자리로 출력이 되어서 "YYYY-MM-DD" 형식에 맞지 않게 됩니다.
2자리수로 맞추가 위해 padStart() 함수를 적용하면 됩니다.
let current_date = new Date()
let current_date_string = current_date.getFullYear() + '-'
+ (current_date.getMonth() + 1).toString().padStart(2, '0') + '-' + current_date.getDate().toString().padStart(2, '0')
// Result
// 2022-08-02
백틱(back-tick) 템플릿 문자열로 한다면 조금 더 보기가 편합니다.
let current_date = new Date()
let year = current_date.getFullYear()
let month = (current_date.getMonth() + 1).toString().padStart(2, '0')
let day = current_date.getDate().toString().padStart(2, '0')
let current_date_string = `${year}-${month}-${day}`
// Result
// 2022-08-02
"Date" 클래스의 toISOString()
"Date" 클래스의 getFullYear(), getMonth, getDate() 함수들을 이용하면 조금은 복잡합니다.
"Date" 클래스의 toISOString()의 실행결과 다음과 같습니다.
(new Date()).toISOString()
//'2022-08-02T07:33:29.242Z'
toISOString() 출력 형식은 "YYYY-MM-DD hh:mm:ss.zzzZ"와 같습니다. 이 결과를 substring() 함수를 이용하여 필요한 부분만 잘라내면 훨씬 손쉽게 날짜문자열을 얻을 수 있습니다.
한 가지 주의할 점은 toISOString()으로 출력되는 시각은 UTC 시각이기 때문에 한국 시각으로 변경하기 위하여 9시간을 더해 주어야 합니다.
let current_time = new Date(+new Date() + (9 * 3600000)).toISOString().substring(0, 19)
// Result
// '2022-08-02T16:32:55'
참고자료
- "현재 날짜, 시간 포맷 (YYYY-MM-DD hh:mm:ss)":https://gurtn.tistory.com/65
- "JavaScript - 현재 날짜, 시간 가져오기":https://codechacha.com/ko/javascript-get-current-date-and-time/
- "[javascript] 자바스크립트 문자열에 0으로 자리수 채우는 방법 (padding)":https://sisiblog.tistory.com/238
'프로그래밍 > 웹 관련' 카테고리의 다른 글
[js] vite - "Two output files share the same path" 오류 문제 (0) | 2024.06.11 |
---|---|
Let’s Encrypt SSL 인증서 만료 메일 주소 변경 방법 (0) | 2022.09.01 |
자바스크립트 코드 최적화 문제 #1 (0) | 2022.02.24 |
Mixed content 문제 해결 방법 (0) | 2021.10.20 |
javascript FORM 태그 시리얼라이징 (0) | 2021.10.01 |