>  기사  >  Java  >  Java에서 타임스탬프를 현지 시간대에서 GMT로 변환하는 방법은 무엇입니까?

Java에서 타임스탬프를 현지 시간대에서 GMT로 변환하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-16 04:22:03273검색

How to Convert a Timestamp from Local Time Zone to GMT in Java?

Java의 타임스탬프 계산에서 시간대를 처리하는 방법

Java 애플리케이션에서 타임스탬프 작업을 할 때 시간대를 고려하는 것이 중요합니다. 정확한 계산과 데이터 처리를 보장합니다. 이 특정 시나리오에서 사용자는 현지 시간대(EST)의 타임스탬프를 입력할 수 있지만 서비스에서는 해당 타임스탬프가 GMT일 것으로 예상합니다.

타임스탬프를 사용자의 현지 시간대에서 GMT로 변환하려면 시간 오프셋의 차이를 고려해야 합니다. 다음은 Java의 Calendar 클래스를 사용하여 이 문제를 극복하는 방법에 대한 예입니다.

public static Calendar convertToGmt(Calendar cal) {

    Date date = cal.getTime();
    TimeZone tz = cal.getTimeZone();
    log.debug("input calendar has date [" + date + "]");

    // Convert to milliseconds since epoch in GMT
    long msFromEpochGmt = date.getTime();

    // Get offset from UTC in milliseconds
    int offsetFromUTC = tz.getOffset(msFromEpochGmt);
    log.debug("offset is " + offsetFromUTC);

    // Create GMT calendar and adjust date based on offset
    Calendar gmtCal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
    gmtCal.setTime(date);
    gmtCal.add(Calendar.MILLISECOND, offsetFromUTC);
    log.debug("Created GMT cal with date [" + gmtCal.getTime() + "]");

    return gmtCal;
}

이 방법을 활용하면 타임스탬프를 GMT로 변환하여 사용자의 위치나 시간에 관계없이 서비스의 기대치와 일치하도록 할 수 있습니다. 구역 설정.

위 내용은 Java에서 타임스탬프를 현지 시간대에서 GMT로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.