프로그래밍/웹 관련

[Javascript] 날짜를 "yyyy-mm-dd hh:MM:ss" 형식으로 출력하기

채윤아빠 2021. 1. 10. 23:57
728x90
반응형

자바스크립트에서 날짜를 "yyyy-mm-dd hh:MM:ss" 형식으로 출력하는 방법으로 많이 알려진 방식은 아래와 같습니다.

function timestamp(){
    function pad(n) { return n<10 ? "0"+n : n }
    d=new Date()
    return d.getFullYear()+"-"+
    pad(d.getMonth()+1)+"-"+
    pad(d.getDate())+" "+
    pad(d.getHours())+":"+
    pad(d.getMinutes())+":"+
    pad(d.getSeconds())
}

더 간단하게는 다음과 같이 코딩하시면 되겠습니다.

function timestamp(){
    var today = new Date();
    today.setHours(today.getHours() + 9);
    return today.toISOString().replace('T', ' ').substring(0, 19);
}

간단하게 설명드리면,

Date.toISOString() 함수가 UTC 시각을 "yyyy-mm-ddThh:MM:ss.zzzZ" 형식으로 출력하므로, 현재 UTC 시각에 KST +9:00 시간을 더한 후, 이를 Date.toISOString() 함수로 문자열로 변환 한 다음에 "T" 문자를 공백으로 변경하고, 밀리초 부분을 제외한 문자열을 반환하는 방법입니다.


참고자료
"How to format a UTC date as a YYYY-MM-DD hh:mm:ss string using NodeJS?":https://stackoverflow.com/questions/10645994/