>  기사  >  Java  >  정확한 시간대를 사용하여 Java에서 밀리초를 날짜로 변환하는 방법은 무엇입니까?

정확한 시간대를 사용하여 Java에서 밀리초를 날짜로 변환하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-01 03:59:02377검색

How to Convert Milliseconds to Dates in Java with Accurate Time Zones?

Java에서 밀리초를 날짜로 변환

밀리초 단위의 타임스탬프가 포함된 로그 파일을 처리할 때 이러한 값을 읽을 수 있는 형식으로 변환해야 합니다. 날짜. 그러나 SimpleDateFormat의 기본 동작은 책 영역 차이로 인해 부정확성을 초래할 수 있습니다. 이 기사에서는 밀리초를 지정된 시간대의 날짜로 효과적으로 변환하는 다양한 접근 방식을 안내합니다.

내장 Java 날짜 클래스

java.util.Date 클래스 제공된 날짜 객체를 생성할 수 있습니다. 밀리초:

<code class="java">Date date = new Date(millis);</code>

SimpleDateFormat

Date 객체가 있으면 SimpleDateFormat을 사용하여 원하는 형식으로 형식을 지정할 수 있습니다. 그러나 시스템과 관련하여 미리 설정된 시간대를 알고 있는 것이 중요합니다.

java.time 패키지

Java SE에 도입된 java.time 패키지 8에서는 날짜 및 시간 처리에 대한 보다 포괄적인 접근 방식을 제공합니다.

<code class="java">var instance = java.time.Instant.ofEpochMilli(millis);
var localDateTime = java.time.LocalDateTime.ofInstant(instance, java.time.ZoneId.of("Asia/Kolkata"));</code>

다음을 사용하여 특정 시간대를 지정할 수 있습니다. java.time.ZoneId.of("TimeZoneID"). 날짜 형식을 지정하려면 다음을 사용하세요.

<code class="java">var formatter = java.time.format.DateTimeFormatter.ofPattern("u-M-d hh:mm:ss a O");
var string = zonedDateTime.format(formatter);</code>

GregorianCalendar 및 JodaTime

또는 GregorianCalendar 및 JodaTime 라이브러리를 활용할 수도 있습니다.

<code class="java">GregorianCalendar calendar = new GregorianCalendar(TimeZone.getTimeZone("US/Central"));
calendar.setTimeInMillis(millis);

DateTime jodaTime = new DateTime(millis, DateTimeZone.forTimeZone(TimeZone.getTimeZone("US/Central")));</code>

처리 시간대 차이점

올바른 시간대로 정확하게 변환하려면 GregorianCalendar 또는 JodaTime을 사용할 때 원하는 시간대로 명시적으로 지정하세요. 로그 파일 자체에서 시간대를 참조하여 데이터 무결성을 유지할 수 있습니다.

위 내용은 정확한 시간대를 사용하여 Java에서 밀리초를 날짜로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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