javascript 내장객체 Date
Date 객체는 날짜와 시간을 다루는 객체입니다. Date 객체는 다음과 같이 선언합니다.
today = new Date();
new 연산자를 사용해서 객체를 생성합니다. 그럼 Date 객체에 사용되는 메소드를 알아보겠습니다.
Date 객체의 메소드 - 날짜와 시간 얻기
getYear() | 연도를 리턴합니다. |
getMonth() | 0에서 11사이의 정수 달을 리턴합니다. 1월=0, 12월=11 |
getDate() | 한 달 내의 날짜를 리턴합니다. |
getDay() | 한 주 내의 요일의 수를 리턴합니다. 일요일=0 |
getHours() | 0에서 23사이의 정수 시간을 나타냅니다. |
getMinutes() | 0에서 59까지의 정수 분을 나타냅니다. |
getSeconds() | 0에서 59까지의 정수 초를 나타냅니다. |
getTime() | 1970년 1월 1일 이후의 시간을 천분의 1초 단위로 리턴합니다. |
getTimezoneOffset() | 그리니치 표준시와 지방시와의 차이를 문으로 리턴합니다. |
parse() | 1970년 1월 1일 자정으로부터 지정된 날짜와 시간 값의 차이를 천분의 1초 단위로 리턴합니다. |
UTC | 1970년 1월 1일 자정으로부터 경과 시간을 그리티치 표준시를 지군으로 천분의 1초 단이다. |
Date 객체의 메소드 - 날짜와 시간 설정하기
setYear() | 2자리 연도를 설정합니다. |
setMonth() | 0에서 11사이의 정수 달을 설정합니다. 1월=0, 12월=11 |
setDate() | 한 달 내의 날짜를 설정합니다. |
setDay() | 한 주 내의 요일의 수를 설정합니다. 일요일=0 |
setHours() | 0에서 23사이의 정수 시간을 설정합니다. |
setMinutes() | 0에서 59까지의 정수 분을 설정합니다. |
setSeconds() | 0에서 59까지의 정수 초를 설정합니다. |
setTime() | 1970년 1월 1일 이후의 시간을 천분의 1초 단위로 설정합니다. |
setFullYear() | 4자리 연도를 설정합니다. |
setMillseconds() | 천분의 1초 값을 0부터 999까지의 값으로 설정합니다. |
다음의 예제로 날짜를 구해보겠습니다.
<HTML> <HEAD> <TITLE> New Document </TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-- function date(){ var a=new Date(); var b=a.getYear(); var c=a.getMonth()+1; var d=a.getDate(); var e=a.getHours(); var f=a.getMinutes(); var g=a.getSeconds(); alert(b+"년 "+c+"월 "+d+"일 "+e+"시 "+f+"분 "+g+"초 입니다."); } //--> </SCRIPT> </HEAD> <BODY> <form> <input type="button" value="현재 날짜와 시간은 어떻게 되지요?" onClick="date()"> </form> </BODY> </HTML> |
< 결과 > 현재 날짜와 시간은 어떻게 되지요? 의 버튼을 누르면
현재날짜와 시간은 00년 00월 00일 00시 00분 00초 입니다. 라고 출력됨.
date라는 함수를 선언하고, 그 안에 Date 객체를 생성합니다. 이 객체는 현제 시간을 나타냅니다.
그러므로, 현재 그 객체의 년도(getYear()), 월(getMonth()+1), 일(getDate())을 구하고, 시(getDate()),
분(getMinues()), 초(getSeconds())를 구합니다.
<html> <head> <title>한국형 시계</title> </head> <script language = javascript> function Start(){ now=new Date() yeon=now.getYear() //70~99,70년에 유닉스를 만들었기 때문에 :2000~ dal=now.getMonth() //0~11 : +1==> 우리의 달과 맞추기 위해서 il=now.getDate() //0~31 yoil=now.getDay() // 0~6 0=일요일 si=now.getHours() //0~23 (24시간제) bun=now.getMinutes()//0~59 cho=now.getSeconds()//0~59 if(yoil==0) yoil="일요일" if(yoil==1) yoil="월요일" if(yoil==2) yoil="화요일" if(yoil==3) yoil="수요일" if(yoil==4) yoil="목요일" if(yoil==5) yoil="금요일" if(yoil==6) yoil="토요일" ampm=(si>12) ? "오후":"오전" //3항 연산자 조건을 따져서 참이면 앞을 // 거짓이면 뒤의 값을 취한다 si=(si>12) ? si-12:si bun=(bun<10) ? "0"+bun : bun cho=(cho<10) ? "0"+cho : cho mytime="19"+yeon+" 년 "+(dal+1)+" 월 "+il+" 일 "+ yoil + ampm+si+" 시 "+bun+" 분 "+ cho +" 초 " document.myform.mytext.value=mytime //속성 t=setTimeout("Start()",1000) } function Stop(){ clearTimeout(t) } </script> <body> <form name=myform> <input type=text value="버튼을 누르셔요" name=mytext size=45 > <input type=button value="시계보기" onclick="Start()"> <input type=button value="시계 멈추기" onclik="Stop()"></form> </body> </html> |
<실행결과>
시계보기 버튼을 누르면 초단위로 시간이 계속 변하고,
멈추기 버튼을 누르면 시간이 멈춘다.
※ 3항 연산자 표기법
(조건) ? a:b
a: true
b: false
http://www.dude.co.kr
댓글 없음:
댓글 쓰기