>  기사  >  Java  >  Java 타임스탬프를 특정 시간대로 변환하려면 어떻게 해야 합니까?

Java 타임스탬프를 특정 시간대로 변환하려면 어떻게 해야 합니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-12 12:20:02784검색

How do I Convert Java Timestamps to a Specific Time Zone?

Java에서 달력 시간대 처리

Java에서 타임스탬프를 처리할 때 정확한 날짜 및 시간 변환을 보장하기 위해 시간대를 고려하는 것이 중요합니다. 이는 시간 매개변수가 GMT와 같은 특정 시간대에 있을 것으로 예상하는 웹 서비스와 통합할 때 특히 중요합니다.

사용자 입력에서 타임스탬프를 얻었고 사용자의 시간대를 알 수 없는 경우 일반적인 시나리오가 발생합니다. . 이 문제를 해결하려면 사용자의 현지 시간을 GMT와 같은 원하는 시간대로 변환해야 합니다.

제공된 코드 조각은 타임스탬프의 기본 시간대에 대한 오해를 보여줍니다. 타임스탬프는 기본적으로 GMT가 아닙니다. 이는 일반적으로 시스템 현지 시간대의 현재 시간을 나타냅니다.

타임스탬프를 특정 시간대의 Java 달력 개체로 변환하려면 ConvertTimestampToJavaCalendar라는 메서드가 사용됩니다. 그러나 이 방법의 문제는 달력의 시간대를 GMT로 설정하려고 할 때 발생합니다. 달력의 시간대를 수정해도 기본 날짜가 자동으로 업데이트되지 않습니다.

이 문제에 대한 해결책은 달력 개체를 가져와 해당 날짜와 오프셋을 GMT 시간의 새 달력 개체로 변환하는 ConvertToGmt 메서드에 있습니다. 존. 작동 방식에 대한 단계별 설명은 다음과 같습니다.

  1. 입력 달력의 시간대에서 현재 시간을 나타내는 Date 객체를 얻습니다.
  2. GMT로부터의 오프셋을 결정합니다. 현재 시간의 달력을 입력합니다.
  3. 입력된 날짜와 동일한 GMT 시간대의 새 달력 개체를 생성합니다. 달력.
  4. 입력 달력의 오프셋을 밀리초 단위로 추가하여 새 달력을 조정합니다.

이 접근 방식을 사용하면 결과 달력 개체가 GMT 시간대의 올바른 시간을 나타내게 됩니다. 예를 들어 입력 시간이 "12:09:05 EDT"인 경우 변환된 GMT 시간은 "08:09:05 GMT"가 됩니다.

이 방법은 웹이 작동하는 상황에서 작동한다는 점에 주목할 가치가 있습니다. 서비스는 달력 매개변수를 다룹니다. 또는 웹 서비스가 에포크로부터 밀리초 단위의 시간 매개변수를 예상하는 경우 입력 달력에서 밀리초를 가져오기만 하면 시간대 변환을 우회할 수 있습니다.

위 내용은 Java 타임스탬프를 특정 시간대로 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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