ICUメッセージでの日付フォーマット

ICU dateおよびtime引数を使用してロケール対応のパターンで日付と時刻をフォーマット。short、medium、long、fullスタイルを複数ロケールの例で解説。

Formatting

詳細な説明

ロケール対応の日付・時刻フォーマット

ICU MessageFormatのdatetime引数型は、対象ロケールの慣例に従って日付と時刻の値をフォーマットします -- 月名、日付の順序(MM/DD vs DD/MM)、時刻形式(12時間 vs 24時間)を含みます。

日付スタイル

ICUは4つの組み込み日付スタイルを提供します:

{today, date, short}    -> 1/15/24 (en-US) / 15.01.24 (de-DE)
{today, date, medium}   -> Jan 15, 2024 (en-US) / 15.01.2024 (de-DE)
{today, date, long}     -> January 15, 2024 (en-US) / 15. Januar 2024 (de-DE)
{today, date, full}     -> Monday, January 15, 2024 (en-US) / Montag, 15. Januar 2024 (de-DE)

時刻スタイル

{now, time, short}      -> 3:30 PM (en-US) / 15:30 (de-DE)
{now, time, medium}     -> 3:30:00 PM (en-US) / 15:30:00 (de-DE)

日本語の日付フォーマット

日本語の日付は年-月-日の順序で、元号名を含むことがあります:

{today, date, long}     -> 2024年1月15日
{today, date, full}     -> 2024年1月15日月曜日

日付と時刻の組み合わせ

Meeting on {meetingDate, date, long} at {meetingDate, time, short}.

同じ変数を日付と時刻の両方のフォーマットに使用できます。

なぜICUに日付処理を任せるのか?

日付フォーマットはロケールによって大きく異なります:

  • 米国:月/日/年(01/15/2024)
  • 英国/欧州:日/月/年(15/01/2024)
  • 日本:年/月/日(2024/01/15)

日付フォーマットをハードコードすると、国際的なユーザーに混乱を招くことが保証されます。ICU日付フォーマットにより、日付は常に現地で期待される形式で表示されます。

ユースケース

複数のタイムゾーンとロケールにまたがるユーザーに日付と時刻を表示するスケジュール機能、アクティビティフィード、イベントプラットフォームやコミュニケーションツールを構築する開発者。

試してみる — ICU Message Format Tester

フルツールを開く