자바스크립트에서 Date 내장객체에 날짜를 설정하는 방법을 알아보겠습니다. 아래의 방법처럼 오늘 날짜의 값을 변수 myDate에 저장하여 얻을 수 있습니다.

var myDate = new Date();

이제 위 변수를 사용하여 다양한 값을 가져오거나 설정할 수 있습니다. 만약 일자를 2일로 설정할 경우 아래와 같이 설정합니다.
myDate.setDate('2');

// 2일로 날짜가 변경되어 설정됨

날짜는 1-31까지 설정이 가능합니다. 이때 숫자만 입력 가능하죠.


! 정확한 요일과 시간을 설정하기
만약 'June 1, 2017 01:02:03' 값의 포맷을 변경하여 출력하려고 합니다. 먼저 new Date()를 사용해 변수 myDate에 선언해야겠습니다.
var myDate = new Date("June 1, 2017 01:02:03");

그런데 문제가 나타날 수 있습니다. 위와 같이 월, 일, 년 등 문자열을 포함한 방법으로 new Date()를 설정하는 경우 예기치 못하게 IE에서 정상적으로 출력되지 않는 문제가 발생할 수 있습니다. 또는 숫자만 사용한 다음의 경우(2000-01-01 00:00:00)라도 크롬에서는 정상적으로 나타나지만 다른 브라우저 환경에서는 ... 특히 IE에서는 에러 또는 NaN을 출력할 수 있습니다.

이런 문제를 피하기 위해서는 일단 타임스탬프로 변환하는 것이 가장 일반적이고 안전한 방법입니다. 타임스탬프입력된 값을 밀리세컨드 단위로 변환하여 일련된 숫자로 나타내줍니다. 자세한 방법은 아래에서 알아봅니다.



# 밀리세컨트로 날짜를 표현하기아래와 같이 초단위 숫자로 나타내는 방식이 바로 타임스탬프 값(timestamp)으로 불리며 자바스크립트에서 타임스탬프 값을 얻기 위해서는 getTime() 메소드를 사용합니다.
var myDate = new Date("June 1, 2017 01:02:03");
var curTime = getTime(myDate );

결과값은 아래와 같습니다.
1493717147424

getTime()은 대부분의 브라우저에서 지원하므로 많이 사용됩니다.
code snippet widget