Please Enable JavaScript!
Gon[ Enable JavaScript ]

자바(Java) 세계 시간, 각국 현재 시각 얻어 오는 방법

자바(JAVA)
반응형

세계 시간이나 각국의 현재 시각을 얻어오려면 “java.time” 패키지를 사용할 수 있습니다. 이 패키지는 Java 8부터 도입되었으며, “ZonedDateTime” 클래스 등을 활용하여 간단하게 세계 시간을 다룰 수 있습니다. ZonedDateTime TimeZone 클래스를 이용해서 값을 얻어오는 샘플을 알려 드리겠습니다.

 


 

  

◎ 사용 구문

 

import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
 
ZonedDateTime currentTime = ZonedDateTime.now();

 

 

전체 예제

 

예제에서는 “ZonedDateTime” 클래스를 사용하여 현재 시각을 얻어왔습니다. 그리고 “DateTimeFormatter”를 사용하여 시간을 원하는 형식으로 포맷했습니다. “Locale.ENGLISH”를 사용하여 영어로 출력하도록 설정했습니다. 출력 결과는 시스템 기본 시간대를 기준으로 한 GMT(Greenwich Mean Time)로 포맷된 예시입니다. 실제로 실행할 때는 시스템의 현재 시간대에 따라 결과가 달라집니다.

 

import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
 
public class WorldTimeExample {
 
    public static void main(String[] args) {
        // 현재 시스템 기본 시간대로 현재 시각 얻기
        ZonedDateTime currentTime = ZonedDateTime.now();
 
        // 원하는 형식으로 날짜 및 시간 포맷 지정
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss z", Locale.ENGLISH);
        String formattedTime = currentTime.format(formatter);
 
        // 결과 출력
        System.out.println("현재 세계 시간: " + formattedTime);
    }
}

 

[출력]
현재 세계 시간: 2023-12-19 15:30:45 GMT

 

 

사용 구문

 

import java.util.TimeZone;
 
TimeZone timeZone = TimeZone.getTimeZone("America/New_York");

 

 

전체 예제

 

세계 시간을 얻어오는 또 다른 방법은 “java.util.TimeZone” 클래스를 활용하는 것입니다. 이 클래스는 Java 1.1부터 사용 가능하며, 시간대 정보를 관리하고 시간을 변환하는 데에 활용됩니다. 이 예제에서는 “TimeZone” 클래스를 사용하여 뉴욕의 시간대 정보를 가져왔습니다. 그리고 “System.currentTimeMillis()”를 사용하여 현재 시각을 얻어왔습니다. 시간대의 오프셋을 계산하고, 이를 이용하여 UTC 기준으로 현재 시각을 계산했습니다. 출력 결과는 1970 1 1 00:00:00 UTC(협정 세계시)를 기준으로 한 뉴욕의 현재 시각을 밀리초로 나타낸 것입니다. 결과는 실제 실행 시에 따라 다를 수 있습니다.

 

import java.util.TimeZone;
 
public class WorldTimeExample2 {
 
    public static void main(String[] args) {
        // 뉴욕의 시간대로 현재 시각 얻기
        TimeZone newYorkTimeZone = TimeZone.getTimeZone("America/New_York");
        long currentTimeMillis = System.currentTimeMillis();
        int offset = newYorkTimeZone.getOffset(currentTimeMillis);
 
        // UTC 기준으로 현재 시각 계산
        long currentTimeUtcMillis = currentTimeMillis - offset;
 
        // 결과 출력
        System.out.println("뉴욕 현재 시간: " + currentTimeUtcMillis);
    }
}

 

[출력]
뉴욕 현재 시간: 1642319427456
반응형
Posted by 녹두장군1
,