현재 날짜, 시간 ( Month + 1 에 대해서 )

by 조쉬 posted Mar 25, 2021
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
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부터이니, 이럴땐 따로 연산을 해줄 필요가 없다는것 정도?


Articles

1 2 3 4 5 6 7 8 9 10