Java 에서 Date와 Calendar, GregorianCalendar 사용법

출처 : 데빌의 블로그 http://blog.naver.com/deviltempler


소스에 관한 간단한 설명

 

Java에서 Date, Calendar, GregorianCalendar, TimeZone의 클래스를 이용하는 방법
보여줍니다.

GregorianCalendar는 Calendar의 subclass로써 Calendar의 모든 함수를
호출하여 사용할 수 있습니다.

제가 자바는 그렇게 잘하는 편이 아니라 설명을 잘못할 수 도 있으니
이 글을 액면 그대로 믿지는 마십시오. 훗;;;

Date와 GregorianCalendar는 "new"를 이용하여 클래스의 인스턴스를 생성하나
Calendar는 "Calendar cal = Calendar.getInstance();" 이런식으로
getInstance() 함수를 이용하여 클래스의 인스턴스를 생성한다는 것을 주의해주십시오.

 

(http://java.sun.com/j2se/1.5.0/docs/api/ <-- 직접 가서 보실 분들을 위한 링크)

 

소스

-----------------------------------------------------------------------

import java.util.Date;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.SimpleTimeZone;
import java.util.TimeZone;

 

public class DateTest
{

 public static void main(String[] args){

  Date date = new Date();
  Calendar cal = Calendar.getInstance();
 
  System.out.println("getTime() : " + date.getTime());
  System.out.println("getDate() : " + date.getDate());
  System.out.println("getDay() : " + date.getDay());
  System.out.println("getHours() : " + date.getHours());
  System.out.println("getMinutes() : " + date.getMinutes());
  System.out.println("getMonth() : " + date.getMonth());
  System.out.println("getSeconds() : " + date.getSeconds());
  System.out.println("getYear() : " + date.getYear());
  System.out.println("get() : " + cal.get(Calendar.DAY_OF_WEEK));

  System.out.println("--------------------------------------");

  GregorianCalendar gc = new GregorianCalendar(date.getYear() , date.getMonth() , date.getDate() , date.getHours() , date.getMinutes() , date.getSeconds());
  gc.set(GregorianCalendar.MILLISECOND , 111);

  System.out.println("year : " + gc.get(GregorianCalendar.YEAR));
  System.out.println("month : " + gc.get(GregorianCalendar.MONTH));
  System.out.println("date : " + gc.get(GregorianCalendar.DAY_OF_MONTH));
  System.out.println("hour : " + gc.get(GregorianCalendar.HOUR_OF_DAY));
  System.out.println("minute : " + gc.get(GregorianCalendar.MINUTE));
  System.out.println("second : " + gc.get(GregorianCalendar.SECOND));
  System.out.println("millisecond : " + gc.get(GregorianCalendar.MILLISECOND));
  System.out.println("all millisecond : " + gc.getTimeInMillis());

  System.out.println("--------------------------------------");

  SimpleTimeZone stz = new SimpleTimeZone(100000,"none");
  gc.setTimeZone((TimeZone) stz);
  SimpleTimeZone stz2 = (SimpleTimeZone)gc.getTimeZone();
  System.out.println("SimpleTimeZone : " + stz2.getRawOffset());

  System.out.println("--------------------------------------");
 }
};

-----------------------------------------------------------------------

 

실행 결과

실행 결과를 보시면 숫자가 잔뜩 나와있습니다.

getTime() : "January 1, 1970 00:00:00.000 GMT"에서부터 흐른 초의 수치

실행 당시 2006년 8월 22일 (화요일) 20시 32분 47초 였습니다.

 

getDay()는 화요일(2)을 리턴한 것이며, 일요일이 0입니다. 토요일 6

get()은 cal.get(Calendar.DAY_OF_WEEK)의 결과로 화요일이 3입니다

토요일 7, 일요일 1

하나씩만 출력해보시면 아실수 있겠지만 함수에 따라 0에서 시작하는 경우도 있고

1에서 시작하는 경우도 있습니다.

GregorianCalendar의 get 함수는 Calendar의 함수를 상속받은 것으로

Calendar 인스턴스를 사용할 때에는

소스의 경우 "GregorianCalendar.YEAR => Calendar.YEAR"

이런 식으로 수정해서 호출하면 됩니다.

이 글과 관련있는 글을 자동검색한 결과입니다 [?]

by 바르 | 2007/01/11 20:32 | 트랙백(1) | 덧글(0)
트랙백 주소 : http://computer.egloos.com/tb/798167
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Tracked from 이지홍의 행복한 공간 at 2007/01/16 09:37

제목 : 자바Tip 날짜구하기 총집합!
[ 날짜 연산법 ] 가. 이해 및 유틸 - 시스템 시간에 대한 이해 - 날짜 계산 종합 유틸리티 나. 응용팁 시스템의 밀리초 구하기.(국제표준시각(UTC, GMT) 1970/1/1/0/0/0 으로부터 경과한 시각) ------------------------------------------------------------------ // 밀리초 단위(*1000은 1초), 음수이면 이전 시각 long time ......more

:         :

:

비공개 덧글



<< 이전 페이지 다음 페이지 >>