2010년 11월 6일 토요일

자바스크립트(java script) Date 내장 객체...

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





P 이경철님의 파란블로그에서 발행된 글입니다.

댓글 없음:

댓글 쓰기