ICUメッセージでの日付フォーマット
ICU dateおよびtime引数を使用してロケール対応のパターンで日付と時刻をフォーマット。short、medium、long、fullスタイルを複数ロケールの例で解説。
Formatting
詳細な説明
ロケール対応の日付・時刻フォーマット
ICU MessageFormatのdateとtime引数型は、対象ロケールの慣例に従って日付と時刻の値をフォーマットします -- 月名、日付の順序(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日付フォーマットにより、日付は常に現地で期待される形式で表示されます。
ユースケース
複数のタイムゾーンとロケールにまたがるユーザーに日付と時刻を表示するスケジュール機能、アクティビティフィード、イベントプラットフォームやコミュニケーションツールを構築する開発者。