Lokalisierung in der DateTime-Formatierung
Die lokalisierte Formatierung von Datums- und Uhrzeitangaben ist in internationalisierten Anwendungen oft wünschenswert. Um dies zu erreichen, ist es wichtig, die entsprechenden Spracheinstellungen zu integrieren.
In PHP bietet die DateTime-Klasse eine praktische Methode zum Formatieren von Datums- und Uhrzeitangaben. Ein häufiges Problem tritt auf, wenn die formatierte Ausgabe nicht die gewünschte Sprache widerspiegelt. Beispielsweise möchten Sie möglicherweise, dass der Wochentag mit Ihrem bevorzugten Gebietsschema übereinstimmt.
Die Funktion Locale::getDefault() gibt das aktuelle Systemgebietsschema zurück, das Informationen über die bevorzugte Sprache und andere gebietsschemaspezifische Einstellungen bereitstellt . Allerdings nutzt DateTime::format() dieses Gebietsschema standardmäßig nicht direkt.
Intl-Erweiterung zur Rettung
Um diese Lücke zu schließen, bietet die Intl-Erweiterung ein umfangreiches Funktionspaket speziell für die Internationalisierung und Lokalisierung. Mit der Intl-Erweiterung können Sie Datumsangaben mühelos entsprechend dem gewählten Gebietsschema formatieren.
Datumsformat anpassen
Manchmal entsprechen die vordefinierten Formatierungsoptionen nicht genau Ihren Anforderungen . Um dieses Problem zu beheben, können Sie mit der Klasse IntlDateFormatter benutzerdefinierte Formatierungsmuster definieren. Beispiel:
$dt = new DateTime; $formatter = new IntlDateFormatter('de_DE', IntlDateFormatter::SHORT, IntlDateFormatter::SHORT); $formatter->setPattern('E d.M.yyyy'); echo $formatter->format($dt);
Der obige Codeausschnitt formatiert das Datum in „Di. 4.6.2013“, vorausgesetzt, das deutsche Gebietsschema („de_DE“) ist festgelegt und ein benutzerdefiniertes Muster wird verwendet, um das gewünschte Format zu erreichen.
Das obige ist der detaillierte Inhalt vonWie kann ich Datums- und Uhrzeitangaben in PHP entsprechend einem bestimmten Gebietsschema formatieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!