ホームページ  >  記事  >  Java  >  currentTimeMillis をロケール固有の書式設定で日付に変換する方法

currentTimeMillis をロケール固有の書式設定で日付に変換する方法

Susan Sarandon
Susan Sarandonオリジナル
2024-11-01 07:14:30693ブラウズ

How to Convert currentTimeMillis to a Date with Locale-Specific Formatting?

ロケール固有の書式設定を使用して currentTimeMillis を日付に変換する方法

問題:

ミリ秒を日付に変換する場合SimpleDateFormat を使用して形式を設定する場合、プログラムはマシンの日付を使用します。これは、別のタイムゾーンでは正しい時刻を表さない可能性があります。

解決策:

この問題を処理するにはエレガントには、次のアプローチを使用できます:

  • Java.util.Date:
<code class="java">Date date = new Date(millis);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS", Locale.US);
String formattedDate = sdf.format(date);</code>
  • Java Time API (Java 8):

Instant および ZonedDateTime の使用:

<code class="java">Instant instant = Instant.ofEpochMilli(millis);
ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(instant, ZoneId.of("US/Central"));

// Format the date
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss,SSS");
String formattedDate = zonedDateTime.format(formatter);</code>

LocalDateTime の使用:

<code class="java">LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.of("US/Central"));

// Format the date
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss,SSS");
String formattedDate = localDateTime.format(formatter);</code>
  • Joda-Time (レガシー)
<code class="java">DateTime jodaTime = new DateTime(millis, DateTimeZone.forTimeZone(TimeZone.getTimeZone("US/Central")));

// Format the date
DateTimeFormatter parser1 = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss,SSS");
String formattedDate = parser1.print(jodaTime);</code>

これらのアプローチを使用すると、ミリ秒をロケールの日付形式に変換できます。特定の方法で正確な時刻が表示されるようにします。

以上がcurrentTimeMillis をロケール固有の書式設定で日付に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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