Java 타임스탬프를 다른 시간대로 변환
Java에서 타임스탬프는 기본적으로 처음에 그리니치 표준시(GMT)입니다. 그러나 다양한 시간대의 사용자 입력을 처리할 때는 타임스탬프를 사용자의 특정 시간대로 변환해야 합니다.
이 시나리오를 고려해보세요. 동부 표준시(EST)의 사용자는 "5/1"의 타임스탬프를 제공합니다. /2008 오후 6시 12분(EST)'. 웹 서비스는 "2008년 5월 1일 오후 6시 12분(GMT)"인 GMT의 타임스탬프를 예상합니다.
다른 시간대에 걸쳐 타임스탬프를 정확하게 변환하려면 사용자 정의 변환기가 필요합니다. ConvertToGmt()에 대한 코드는 다음과 같습니다.
public static Calendar convertToGmt(Calendar cal) { Date date = cal.getTime(); TimeZone tz = cal.getTimeZone(); // Milliseconds since epoch GMT long msFromEpochGmt = date.getTime(); // Current offset from GMT at current date int offsetFromUTC = tz.getOffset(msFromEpochGmt); // Create a GMT calendar, set time, and add offset Calendar gmtCal = Calendar.getInstance(TimeZone.getTimeZone("GMT")); gmtCal.setTime(date); gmtCal.add(Calendar.MILLISECOND, offsetFromUTC); return gmtCal; }
이 메서드는 입력 달력을 GMT 달력으로 변환하여 웹 서비스의 타임스탬프가 GMT로 정확하도록 보장합니다. 이 방법은 현재 일광 절약 시간 변경을 처리하지 않습니다.
위 내용은 Java 타임스탬프를 다른 시간대로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!