ホームページ  >  記事  >  Java  >  正確なタイムゾーンを使用してJavaでミリ秒を日付に変換する方法?

正確なタイムゾーンを使用してJavaでミリ秒を日付に変換する方法?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-01 03:59:02374ブラウズ

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

Java でミリ秒を日付に変換する

ミリ秒単位のタイムスタンプを含むログ ファイルを扱う場合、これらの値を読み取り可能な値に変換する必要があります。日付。ただし、SimpleDateFormat のデフォルトの動作では、トーム ゾーンの違いにより不正確さが生じる可能性があります。この記事では、ミリ秒を指定されたタイム ゾーンの日付に効果的に変換するさまざまな方法について説明します。

組み込み Java Date クラス

java.util.Date クラス提供されたものから 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("タイムゾーンID")。日付の形式を設定するには、

<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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。