Java에서 날짜와 시간을 다른 시간대로 변환
현재 날짜와 시간을 다른 시간대로 변환하려고 할 때, 출력 시간이 예상 값과 일치하지 않을 때 일반적인 문제가 발생합니다. 이 문제를 해결하려면 다음 해결 방법을 고려하세요.
<code class="java">import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.TimeZone; public class DateAndTimeZoneConversion { public static void main(String[] args) { try { // Get the current date and time Calendar currentDate = Calendar.getInstance(); String strDate = null; DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss"); strDate = formatter.format(currentDate.getTime()); // Convert from current time zone to IST TimeZone fromTimeZone = TimeZone.getDefault(); TimeZone istTimeZone = TimeZone.getTimeZone("IST"); currentDate.setTimeZone(fromTimeZone); currentDate.add(Calendar.MILLISECOND, fromTimeZone.getRawOffset() * -1); if (fromTimeZone.inDaylightTime(currentDate.getTime())) { currentDate.add(Calendar.MILLISECOND, currentDate.getTimeZone().getDSTSavings() * -1); } // Convert to Central Standard Time (CST) TimeZone toTimeZone = TimeZone.getTimeZone("CST"); currentDate.add(Calendar.MILLISECOND, toTimeZone.getRawOffset()); if (toTimeZone.inDaylightTime(currentDate.getTime())) { currentDate.add(Calendar.MILLISECOND, toTimeZone.getDSTSavings()); } // Print the converted time System.out.println("The current time in India is: " + istTimeZone.getDisplayName() + " :: " + formatter.format(currentDate.getTime())); System.out.println("The current time in Central Standard Time is: " + toTimeZone.getDisplayName() + " :: " + formatter.format(currentDate.getTime())); } catch (ParseException e) { e.printStackTrace(); } } }</code>
이 코드는 원본 및 대상 시간대 모두에 대한 오프셋과 일광 절약 시간을 적절하게 고려하여 정확한 시간 변환을 보장함으로써 시간 격차를 해결합니다.
위 내용은 Java에서 날짜와 시간을 다른 시간대로 정확하게 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!