다음과 같이 사용한다.

var date = new Date(); 
//일단 이렇게 하면 date 객체에는 현재 날짜시각이 들어간다.
var 연도 = date.getFullYear();
//연도를 2009처럼 풀 연도로 구한다.
var 축약연도 = date.getYear();
//이렇게 하면 2009년은 109라고 나온다.
var 달_컴터용 = date.getMonth();
//이렇게 하면 1월부터 12월 사이가 0~11 숫자로 나온다.
var 달_인간용 = parseInt(date.getMonth())+1;
//그래서 인간용으로 하려면 아래처럼 해야 한다.
var 날 = date.getDate();

//20091026 형식으로 뽑으려면 아래처럼 한다.
var 오늘날짜 = 연도 + 달_인간용.toString() + 날

//달.toString을 한 이유는, 변수 '달_인간용'에 들어있는 자료형이 int기 때문이다. 자바 스크립트는 유연한 자료형을 사용하는데, 애초에 var a = "1" 이런 식으로 줘도 a+1을 을 연산하라고 하면 2를 반환한다. 그래서 숫자를 문자로 인식시키려면 a+''+1 이런 식으로 써줘서 중간에 문자형을 하나 넣어 주던가, 아니면 a.toString() 이런 식으로 문자형으로 명시를 해줘야 한다.

alert(오늘날짜);
//이러면 오늘날짜가 20091026 형식으로 alert창에 뜬다.

시간은 다음처럼 얻는다.

var 시=today.getHours();
var 분=today.getMinutes();
var 초=today.getSeconds();
// 한자리수일 경우 앞에 0을 추가하기 위해 아래처럼 처리한다.
분=checkTime(분);
초=checkTime(초);
alert('현재시각 _ '+시+':'+분+':'+초);

날짜 세팅 방법

다음, 다른 형태들을 알아보자.

꼭 오늘 날짜만 사용하는 경우만 있는 건 아닐 터, 다른 날짜로 세팅해서 사용하는 방법을 알아 보자. 이 부분은 W3C School의 JavaScript Date Object 부분을 참고했으며, 예문은 그대로 가져왔다.

2010년 1월 14일로 날짜를 세팅하려면 다음과 같이 해 준다.

var myDate=new Date();
myDate.setFullYear(2010,0,14);
//달을 쓸 때는 컴퓨터가 알아먹을 수 있게 해 줘야 한다. 1월은 0, 12월은 11 이런 식이다. 즉, 인간이 알아먹는 달에서 -1을 해 줘야 한다.

5일 뒤로 세팅을 해 보자.

var myDate=new Date();
myDate.setDate(myDate.getDate()+5);

연월을 자동으로 계산해서 올바른 날짜를 반환해 준다. 아주 좋다.

다양한 날짜 형태 반환

별로 유용하지는 않지만 Object를 곧장 사용하면 이렇게 된다.

document.write(Date());
//결과 : Mon Oct 26 2009 14:24:38 GMT+0900 (Japan Standard Time)

toUTCString() 메서드도 사용할 수 있는데, 결과를 보자.

var d=new Date();
document.write(d.toUTCString());
//결과 : Mon, 26 Oct 2009 05:24:19 GMT

게중 유용한 것은 유닉스 타임스탬프값 반환일 듯하다.

var d=new Date();
document.write("1970년 1월 1일 이후 "+d.getTime()+"초 지났다.");
//결과 : 1970년 1월 1일 이후 1256534643100초 지났다.

유닉스 타임스탬프는 1970년 1월 1일 이후 몇 초가 지났는지 찍어주는 것인데, 컴퓨터에서 날짜계산을 할 때 기본으로 사용하는 값이다. 예컨대, php는 원하는 날짜를 세팅할 때 유닉스 타임스탬프가 있으면 편하다.

응용 : 시계 달기

시계를 표시하는 함수는 다음과 같다.

<html>
<head>
<script type="text/javascript">
function startTime()
{
var today=new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
// 한자리수일 경우 앞에 0을 추가한다.
m=checkTime(m);
s=checkTime(s);
document.getElementById('txt').innerHTML=h+":"+m+":"+s;
t=setTimeout('startTime()',500);
}

function checkTime(i)
{
if (i<10)
  {
  i="0" + i;
  }
return i;
}
</script>
</head>

<body onload="startTime()">
<div id="txt"></div>
</body>
</html>

추가로, Date() 객체의 API를 참고하면 더 많은 정보를 얻을 수 있다.