오늘 날짜를 아래와 같이 나타내려고 합니다.

'2017-05-01'

일반적으로 사용되는 로컬타입의 날짜입니다. 하지만 이처럼 날짜를 보여주는 메소드는 Date() 객체에 없는데요 .. 이처럼 보여줄려면 어떻게 할까요? 일단 정규표현식을 사용하는 방법이 떠오르는 군요. 아래는 예제소스입니다.


# 자바스크립트 오늘날짜를 -를 구분기호로 보여주기


일단 오늘 날짜는 Date() 객체를 사용하고 년월일은 toLocaleDateString() 메소드를 사용합니다. 그 이후에 이 값을 정규표현식으로 변환하여 우리가 원하는 슬래쉬 구분자의 날짜를 얻을 것입니다.

var curDate = new Date();
curDate = curDate.toLocaleDateString().replace(/./g, '').replace(/ (?=d{1}(s|$))/g, '-0').replace(/ (?=d{2}(s|$))/g, '-');
curDate2  = curDate + ' 00:00:00';
오늘날짜를 new Date()를 사용하여 얻은 후 toLocaleDateString()을 사용하면 아래처럼 년월일을 얻을 수 있습니다.

2017. 5. 1

이 값을 다시 - 구분자로 얻기위해 정규표현식을 사용한 방법입니다. 보면 정규식이 조금 길어보이는데 그 이유는 숫자가 한자리인 경우에 앞에 0을 추가하기 위한 코드를 적용했기 때문입니다.

추가적으로 curDate2 변수는 시간분초를 추가한 방법입니다. 데이터베이스에 DATETIME으로 저장하는 경우를 위해 추가하였습니다.