본문 바로가기

JavaScript

[JavaScript] yyyy-mm-dd 형태로 format 해서 출력하기

- javascript 에서 시각을 YYYY-MM-DD로 변형하기 -

현재 시각은 new Date()로 출력할 수 있다.
출력 형태는 아래와 같다.

Sat Apr 16 2022 22:45:02 GMT+0900 (한국 표준시)


Date.now()는 아래와 같이 유닉스 타임을 돌려준다.

1650116719429



형식을 YYYY-MM-DD 형태로 바꾸고 싶다면 어떻게 해야 할까.
아쉽게도 javascript 내장함수는 따로 없다.
직접 만들어서 써야 한다.
아래와 같이 만들 수 있다.

function dateFormatter(d) {
    const cal = new Date(d);        //파라미터로 전달 받은 날짜를 가지고 새로운 Date 자료형 변수를 만든다.
    const year = cal.getFullYear();     //해를 받아온다.
    const month = cal.getMonth() + 1;   //달을 받아온다. 0부터 시작하기 때문에 +1을 해준다.
    const day = cal.getDate();      //날을 받아온다.

    if (month < 10) 
        month = '0' + month;    //한 자리 숫자라면 앞에 0을 붙여서 두 자리 문자열로 만들어준다.
    if (day < 10) 
        day = '0' + day;    //한 자리 숫자라면 앞에 0을 붙여서 두 자리 문자열로 만들어준다.

    return [year, month, day].join('-');    //-를 연결자로 써서 연-월-일을 이어붙인다.
}

사용할 때는 아래처럼 파라미터로 date 변수를 던져준다.

$('input[name="ordered_date"]').val(dateFormatter(new Date())); //파라미터로 현재 시각을 던져준다.



> 참고 자료
https://stackoverflow.com/questions/23593052/format-javascript-date-as-yyyy-mm-dd


-220413

반응형