문제:
날짜/시간을 Java에서 변환 Java에서는 한 시간대에서 다른 시간대로 이동하는 것이 어려울 수 있습니다. 현재 시간을 GMT에서 GMT 13으로 변환하기 위해 사용자가 제공하는 코드는 간단해 보이지만 특정 시간을 설정할 때 동일한 접근 방식이 실패합니다. 사용자는 이러한 경우 왜 로컬 시스템의 시간대가 사용되는지 질문합니다.
해결책:
명시적인 시간대인 경우 시간은 UTC로 간주됩니다. 그러나 밀리초를 사용하여 Calendar 객체에 시간을 설정할 때(calendar.setTime(new Date(1317816735000L))에서와 같이) 시간은 호스트 시스템의 시간대에 있다고 가정합니다.
이 문제를 극복하려면 시간 형식을 지정하기 전에 SimpleDateFormat 개체의 시간대를 명시적으로 설정할 수 있습니다.
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.TimeZone; Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date(1317816735000L)); SimpleDateFormat sdf = new SimpleDateFormat("dd MMM yyyy HH:mm:ss z"); // Set the time zone for the formatter sdf.setTimeZone(TimeZone.getTimeZone("GMT+13")); // Format the time with the specified time zone String newZealandTime = sdf.format(calendar.getTime());
이 코드는 지정된 시간대(GMT 13)의 날짜를 문자열로 반환합니다.
사용자 정의 날짜/시간 변환 단계:
위 내용은 시간대 간에 Java 날짜/시간 개체를 정확하게 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!