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 중국어 웹사이트의 기타 관련 기사를 참조하세요!