mwultong Blog ... 프로그래밍 / 계산기

컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Saturday, November 04, 2006

Java/자바] 세계 시간; 각국 현재 시각 얻기; World Time, TimeZone 변경


세계 각국 주요 도시의 현재 시각을 얻는 예제 프로그램입니다.

getTimeZone 으로 타임존(시간대) 오브젝트를 만들어서, setTimeZone으로 설정해 주고, DateFormat 오브젝트로 출력해 주는 것인데, 좀 복잡하더군요.

일광절약시간제(DST; Daylight Saving Time) 즉 서머타임도 자동으로 인식합니다. 미국에는 서머타임이 적용되기에, 태평양 표준시 (PST)의 경우, 여름에는 자동으로 PDT 로 변경됩니다.


세계 표준시 얻기; 시간대 변경 예제


소스 파일명: Foo.java
import java.util.*;
import java.text.*;


class Foo {
  public static void main(String args[]) {

    TimeZone tz;
    Date date = new Date();
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss (z Z)");


    tz = TimeZone.getTimeZone("Asia/Seoul"); df.setTimeZone(tz);
    System.out.format("%s%n%s%n%n", tz.getDisplayName(), df.format(date));


    tz = TimeZone.getTimeZone("Greenwich"); df.setTimeZone(tz);
    System.out.format("%s%n%s%n%n", tz.getDisplayName(), df.format(date));


    tz = TimeZone.getTimeZone("America/Los_Angeles"); df.setTimeZone(tz);
    System.out.format("%s%n%s%n%n", tz.getDisplayName(), df.format(date));


    tz = TimeZone.getTimeZone("America/New_York"); df.setTimeZone(tz);
    System.out.format("%s%n%s%n%n", tz.getDisplayName(), df.format(date));


    tz = TimeZone.getTimeZone("Pacific/Honolulu"); df.setTimeZone(tz);
    System.out.format("%s%n%s%n%n", tz.getDisplayName(), df.format(date));


    tz = TimeZone.getTimeZone("Asia/Shanghai"); df.setTimeZone(tz);
    System.out.format("%s%n%s%n%n", tz.getDisplayName(), df.format(date));

  }
}

TimeZone.getTimeZone("Asia/Seoul")
이 줄의 "Asia/Seoul" 이라는 부분에 다른 도시명을 넣으면 세계 각국의 시간으로 바꿀 수 있습니다.



컴파일 및 실행 결과:
D:\Z>javac Foo.java && java Foo
한국 표준시
2006-11-04 11:24:42 (KST +0900)

그리니치 표준시
2006-11-04 02:24:42 (GMT +0000)

태평양 표준시
2006-11-03 18:24:42 (PST -0800)

동부 표준시
2006-11-03 21:24:42 (EST -0500)

하와이 표준시
2006-11-03 16:24:42 (HST -1000)

중국 표준시
2006-11-04 10:24:42 (CST +0800)

즉, 한국의 현재 시각이 2006-11-04 11:24:42 일 때

캘리포니아주의 현재 시각은 2006-11-03 18:24:42 이렇습니다. "하루 전날의" 저녁6시입니다.



태평양 표준시는 미국 캘리포니아주의 시간입니다. 태평양 한복판의 시간이라는 뜻이 아니라 태평양 연안의 시간입니다.

동부 표준시는 뉴욕 시간입니다.

홍콩 표준시도 중국 표준시와 같았습니다. 북경과 상해 모두 중국 표준시를 사용합니다.




tag: java
자바 | Java

0 Comments:

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top