ar now = new Date(); // 현재시간
//아래의 각 함수들은 위에서 선언한 now 변수에서 해당 시간을 뽑아올 수 있는 함수들이다.
//php처럼 $dday = date("Y-m-d", time()); 이런식으로 쓰면 편할텐데....
var year = now.getYear(); // 년
var mon = (now.getMonth()+1); //월
var date = now.getDate(); //일
var day = now.getDay(); //요일
var hour = now.getHours(); //시간
var min = now.getMinutes(); //분
var sec = now.getSeconds(); //초
var milsec = now.getMilliseconds(); //밀리초
위 처럼 한뒤에 각각의 변수들을 출력해보면, 해당 날짜나 시간등을 가져올수 있다.
그런데.. 다른 값들은 전부 그냥 가져와서 쓰면 되는데, getMonth() 이녀석만은 +1 을 해주어야 한다.
var now = new Date();
var month = now.getMonth();
alert(month);
라고 하고 소스를 실행시켜 보면, 현재 글을 쓴 날짜가 3월달인데, "2"라는 결과가 출력될것이다.
getMonth(); 의 반환 값이 0~11까지 이기 때문이다. 정확한 이유는 필자도 알지는 못한다.
다만 저렇게 반환되는 값일 경우 아래와 같은 소스로 사용할경우에 배열 위치를 0 부터 줘도 된다는 정도?
var now=new Date();
var month=new Array("해오름달", "시샘달", "물오름달", "잎새달", "푸른달", "누리달", "견우직녀달", "타오름달", "열매달", "하늘연달", "미틈달", "매듭달" );
alert("우리말로 된 이번달 : " + month[now.getMonth()]);
이렇게 달마다 이름이 붙어있을 경우(영어엔 달마다 이름이 있으니까.. ) 각 달을 배열로 써줄때는 0부터이니, 이럴땐 따로 연산을 해줄 필요가 없다는것 정도?