ホームページ >バックエンド開発 >PHPチュートリアル >PHP で特定のロケールに従って日付と時刻をフォーマットするにはどうすればよいですか?

PHP で特定のロケールに従って日付と時刻をフォーマットするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-03 02:27:13974ブラウズ

How Can I Format Dates and Times in PHP According to a Specific Locale?

DateTime 書式設定におけるローカリゼーション

国際化されたアプリケーションでは、ローカライズされた方法で日付と時刻を書式設定することが望ましいことがよくあります。これを実現するには、適切な言語設定を組み込むことが重要です。

PHP では、DateTime クラスは日付と時刻をフォーマットするための便利なメソッドを提供します。一般的な問題は、フォーマットされた出力が目的の言語を反映していない場合に発生します。たとえば、曜日を優先ロケールと一致させたい場合があります。

Locale::getDefault() 関数は、現在のシステム ロケールを返します。これにより、優先言語およびその他のロケール固有の設定に関する情報が提供されます。 。ただし、DateTime::format() はデフォルトではこのロケールを直接利用しません。

Intl Extension to the Rescue

このギャップを埋めるために、Intl 拡張機能は次の機能を提供します。国際化とローカリゼーションのために特別に設計された包括的な機能セット。 Intl 拡張子を使用すると、選択したロケールに従って日付を簡単に書式設定できます。

日付形式のカスタマイズ

事前定義された書式設定オプションがニーズを正確に満たさない場合があります。 。これに対処するために、IntlDateFormatter クラスを使用してカスタム書式パターンを定義できます。例:

$dt = new DateTime;

$formatter = new IntlDateFormatter('de_DE', IntlDateFormatter::SHORT, IntlDateFormatter::SHORT);
$formatter->setPattern('E d.M.yyyy');

echo $formatter->format($dt);

上記のコード スニペットは、ドイツ語ロケール ('de_DE') が設定されていることを前提として、日付を「Di. 4.6.2013」にフォーマットし、カスタム パターンを使用して目的のフォーマットを実現します。

以上がPHP で特定のロケールに従って日付と時刻をフォーマットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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