Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,075 of 9,075 pages
About the help in other languages
All help pages

Locale-Operatoren

Die 7 Operatoren von eZTemplateLocaleOperator - l10n mit allen neun Formatierungstypen, datetime mit den Klassen der datetime.ini und eigenen Formaten, locale, currentdate, maketime, makedate und gettime - mit auf einer…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/template-operators/locale-operators.md

On this page

This page is a translation. Read the English original

Locale-Operatoren

Datumsangaben, Uhrzeiten, Zahlen und Geldbeträge werden für eine Locale formatiert, nicht mit date() von PHP. Die 7 Operatoren auf dieser Seite registriert eZTemplateLocaleOperator (lib/eztemplate/classes/eztemplatelocaleoperator.php) über lib/eztemplate/classes/eztemplateautoload.php, und sie erledigen ihre Arbeit mit eZLocale (lib/ezlocale/classes/ezlocale.php) und den Locale-Dateien in share/locale/.

Alle Beispiele verwenden feste, mit maketime erzeugte Zeitstempel, damit sie sich nicht von Tag zu Tag ändern. Formate ohne Locale-Code verwenden die Locale des Siteaccess (auf dem Siteaccess site einer Entwicklungsinstallation: US-englische Formate, wie die Ausgabe zeigt).

Inhalt

  1. l10n
  2. datetime
  3. maketime, makedate und gettime
  4. currentdate
  5. locale
  6. Verwandte Seiten

l10n

l10n

Formatiert den über die Pipe übergebenen Wert mit einer der Formatierungsfunktionen von eZLocale (ihrer $functionMap):

TypMethode von eZLocaleEingabe
timeformatTime()Zeitstempel
shorttimeformatShortTime()Zeitstempel
dateformatDate()Zeitstempel
shortdateformatShortDate()Zeitstempel
datetimeformatDateTime()Zeitstempel
shortdatetimeformatShortDateTime()Zeitstempel
currencyformatCurrencyWithSymbol()Zahl
clean_currencyformatCleanCurrency()Zahl
numberformatNumber()Zahl

Ein unbekannter Typ protokolliert "Unknown locale type".

ParameterTypPflichtStandard
typeZeichenkettejafalse
localeZeichenkette, ein Locale-Code wie ger-DEneinfalse (die Locale des Siteaccess)
paramZeichenkette, das Währungssymbol für currencyneinfalse (das Symbol der Locale)

Gibt eine Zeichenkette zurück. Erzeugte Referenz: l10n.

{def $t = maketime( 14, 5, 0, 10, 19, 2026 )}
time          {$t|l10n( 'time' )}
shorttime     {$t|l10n( 'shorttime' )}
date          {$t|l10n( 'date' )}
shortdate     {$t|l10n( 'shortdate' )}
datetime      {$t|l10n( 'datetime' )}
shortdatetime {$t|l10n( 'shortdatetime' )}
number        {1234567.891|l10n( 'number' )}
currency      {1234.5|l10n( 'currency' )}
clean_currency {1234.5|l10n( 'clean_currency' )}

Ausgabe:

time          02:05:00 pm
shorttime     02:05 pm
date          Monday October 19 2026
shortdate     10/19/2026
datetime      Monday October 19 2026 02:05:00 pm
shortdatetime 10/19/2026 02:05 pm
number        1,234,567.89
currency      $1,234.50
clean_currency 1,234.50

Dieselben Werte für eine andere Locale und mit einem eigenen Währungssymbol:

{def $t = maketime( 14, 5, 0, 10, 19, 2026 )}
ger-DE date     {$t|l10n( 'date', 'ger-DE' )}
ger-DE number   {1234567.891|l10n( 'number', 'ger-DE' )}
ger-DE currency {1234.5|l10n( 'currency', 'ger-DE' )}
currency with symbol 'EUR' {1234.5|l10n( 'currency', 'eng-GB', 'EUR' )}

Ausgabe:

ger-DE date     Montag, 19. Oktober 2026
ger-DE number   1.234.567,89
ger-DE currency € 1.234,50
currency with symbol 'EUR' EUR 1,234.50

datetime

datetime

Formatiert einen Zeitstempel mit einer benannten Klasse aus settings/datetime.ini [ClassSettings] Formats[] oder, wenn die Klasse custom ist, mit einem eigenen Format. eZLocale::formatDateTimeType() macht daraus ein Format für date() von PHP: Die Buchstaben sind die Datumsbuchstaben von PHP mit einem vorangestellten % (%Y Jahr, %m Monat mit Null, %n Monat ohne Null, %d und %j Tag, %H und %h Stunden, %i Minuten, %s Sekunden), andere Buchstaben bleiben als Text erhalten. Die Namen %D, %l (Tag), %M, %F (Monat) und %a, %A (am/pm) füllt die Locale in ihrer Sprache aus.

ParameterTypPflichtStandard
classZeichenkette: ein Klassenname oder customjafalse
dataZeichenkette: das Format, mit customneinfalse

Die Klassen auf einer Entwicklungsinstallation (datetime.ini des Kernels; ezfind fügt solr hinzu, ezfind ist hier aber nicht aktiv):

KlasseFormat
short_date%j.%n.%Y
long_date%j %F %Y
short_date_usa%n/%j/%Y
time_12%h:%i:%s %a
time_24%H:%i:%s
alljeder Buchstabe, zum Testen

Legen Sie eine Klasse in settings/datetime.ini.append.php Ihrer Erweiterung unter [ClassSettings] an und verwenden Sie sie überall. Gibt eine Zeichenkette zurück. Erzeugte Referenz: datetime.

{def $t = maketime( 14, 5, 0, 10, 19, 2026 )}
short_date      {$t|datetime( 'short_date' )}
long_date       {$t|datetime( 'long_date' )}
short_date_usa  {$t|datetime( 'short_date_usa' )}
time_12         {$t|datetime( 'time_12' )}
time_24         {$t|datetime( 'time_24' )}
custom ISO 8601 {$t|datetime( 'custom', '%Y-%m-%dT%H:%i:%s' )}
custom words    {$t|datetime( 'custom', '%l %j %F %Y' )}

Ausgabe:

short_date      19.10.2026
long_date       19 October 2026
short_date_usa  10/19/2026
time_12         02:05:00 pm
time_24         14:05:00
custom ISO 8601 2026-10-19T14:05:00
custom words    Monday 19 October 2026

Eine Klasse, die es nicht gibt, protokolliert einen Fehler und lässt den Zeitstempel, wie er war:

[{maketime( 14, 5, 0, 10, 19, 2026 )|datetime( 'no_such_class' )}]

Ausgabe:

[1792443900]

Von der Template-Engine protokolliert:

ERROR datetime: DateTime class 'no_such_class' is not defined

maketime, makedate und gettime

maketime

PHP mktime() mit den angegebenen Parametern in der Reihenfolge von mktime. Weggelassene Parameter werden nicht übergeben, PHP verwendet für sie also den aktuellen Wert; ganz ohne Parameter gibt er time() zurück. Gibt einen Unix-Zeitstempel zurück.

ParameterTypPflichtStandard
hourGanzzahlneinjetzt
minuteGanzzahlneinjetzt
secondGanzzahlneinjetzt
monthGanzzahlneinjetzt
dayGanzzahlneinjetzt
yearGanzzahlneinjetzt
dstGanzzahlneinnicht übergeben

Erzeugte Referenz: maketime.

makedate

mktime( 0, 0, 0, month, day, year ): Mitternacht eines Datums.

ParameterTypPflichtStandard
monthGanzzahlneinjetzt
dayGanzzahlneinjetzt
yearGanzzahlneinjetzt
dstGanzzahlneinnicht übergeben

Erzeugte Referenz: makedate.

gettime

Zerlegt einen Zeitstempel in einen Hash mit den Schlüsseln seconds, minutes, hours, day, month, year, weeknumber (ISO 8601, Wochen beginnen am Montag), weekday (0 ist Sonntag), yearday (0 ist der 1. Januar) und epoch. Ohne Zeitstempel verwendet er die aktuelle Zeit.

ParameterTypPflichtStandard
timestampGanzzahlneinjetzt

Erzeugte Referenz: gettime.

{def $t = maketime( 14, 5, 0, 10, 19, 2026 )
     $d = makedate( 12, 25, 2026 )
     $info = gettime( $t )}
maketime( 14, 5, 0, 10, 19, 2026 ) = {$t}
makedate( 12, 25, 2026 ) = {$d} ({$d|datetime( 'custom', '%l %j %F %Y, %H:%i' )})
gettime( $t ): {foreach $info as $key => $value}{$key}={$value} {/foreach}

gettime( $d ).weekday = {gettime( $d ).weekday}

Ausgabe:

maketime( 14, 5, 0, 10, 19, 2026 ) = 1792443900
makedate( 12, 25, 2026 ) = 1798185600 (Friday 25 December 2026, 00:00)
gettime( $t ): seconds=0 minutes=5 hours=14 day=19 month=10 year=2026 weeknumber=43 weekday=1 yearday=291 epoch=1792443900 
gettime( $d ).weekday = 5

Übergeben Sie den Zeitstempel als Parameter. Der Interpreter nimmt ihn auch aus der Eingabe über die Pipe:

{def $t = maketime( 14, 5, 0, 10, 19, 2026 )}
$t|gettime.hours = {$t|gettime.hours}

Ausgabe:

$t|gettime.hours = 14

der kompilierte Code (getTimeTransformation()) beachtet aber nur die Parameter, daher verwendete dieselbe Zeile kompiliert auf einer Entwicklungsinstallation die aktuelle Zeit und gab statt 14 die aktuelle Stunde aus. gettime( $t ) liefert in beiden Fällen dieselbe Antwort.

Ausgabe mit dem Template-Compiler (in einen Arbeitsordner kompiliert):

$t|gettime.hours = 2

currentdate

currentdate

Der aktuelle Unix-Zeitstempel (time()). Keine Parameter, keine Eingabe. In einem Cache-Block oder auf einer Seite mit Ansichtscache ist der Wert die Zeit, zu der der Cache erstellt wurde. Erzeugte Referenz: currentdate.

Das Beispiel prüft den Wert, statt ihn auszugeben, damit sich die Seite nicht jeden Tag ändert; außerdem berechnet es ein Alter in Tagen aus dem Veröffentlichungsdatum des Artikels Privacy Policy auf einer Entwicklungsinstallation (Knoten 90):

{def $now = currentdate()}
currentdate() is a Unix timestamp: {$now|is_integer|choose( 'no', 'yes' )}, after 2026-01-01: {$now|gt( makedate( 1, 1, 2026 ) )|choose( 'no', 'yes' )}
Published age of the Privacy Policy article in whole days is a number: {div( sub( $now, fetch( 'content', 'node', hash( 'node_id', 90 ) ).object.published ), 86400 )|floor|is_numeric|choose( 'no', 'yes' )}

Ausgabe:

currentdate() is a Unix timestamp: yes, after 2026-01-01: yes
Published age of the Privacy Policy article in whole days is a number: yes

locale

locale

Gibt das Objekt eZLocale für einen Locale-Code zurück, der über die Pipe oder als Parameter übergeben wird. Zu seinen Attributen gehören locale_code, language_name, country_name, currency_symbol, currency_name und die Formate. Ohne Code meldet er den fehlenden Parameter localestring; die aktuelle Locale erreichen Sie stattdessen über die Formatierungsoperatoren.

ParameterTypPflichtStandard
Locale-CodeZeichenketteja, außer bei Übergabe über die Pipekeiner

Gibt ein Objekt zurück. Erzeugte Referenz: locale.

{def $de = locale( 'ger-DE' )
     $no = 'nor-NO'|locale}
locale( 'ger-DE' ): {$de.locale_code}, {$de.language_name}, currency {$de.currency_symbol}
'nor-NO'|locale: {$no.locale_code}, {$no.language_name}

Ausgabe:

locale( 'ger-DE' ): ger-DE, Deutsch (Deutschland), currency €
'nor-NO'|locale: nor-NO, Norsk (Bokmål)

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x