CMS:DATETIME

Gibt Datum und Uhrzeit eines Datumswertes formatiert aus.

(CMS:DATETIME field [parameter=wert …])

Methode: Cms::cmsDatetime()
Ohne Schlüssel: der erste Wert ohne = gilt als field
Mindestens einer von: field, useval

Parameter

Parameter Wert Standard Pflicht Beschreibung
id Datensatz-Id oder Slug (aktueller Datensatz) Datensatz, aus dem gelesen wird. Reine Ziffernfolge = record_id, alles andere = Slug - dieselbe Regel wie in der URL.
field ¹ Feld – ² Name eines Datensatzfeldes, dessen Inhalt als Quelle genutzt wird.
useval Datumswert – ² Wert in Textform, der als Quelle genutzt wird.
format Formatangaben – ICU-Muster, z. B. "dd.MM.y HH:mm". Ohne Angabe entscheidet die Sprache der Seite über die Schreibweise.
autotime true / false false true: Wenn keine Uhrzeit vorhanden ist (00:00), wird diese nicht angezeigt.
timezone true / false false true: Der Name der Zeitzone wird angehängt (z. B. "Europe/Berlin").
replace[…] Text?Text – Kommt der Text vor dem Fragezeichen im formatierten Wert vor, wird er durch den Text nach dem Fragezeichen ersetzt (z. B. "Jan?Januar").
ifempty Text – Text, der ausgegeben wird, falls die Quelle ('field' oder 'useval') leer ist.
instead Text – Text, der anstelle der Quelle ausgegeben wird, sofern diese nicht leer ist.
prefix Text – Text, der vorangestellt wird, sofern der formatierte Wert nicht leer ist.
suffix Text – Text, der angehängt wird, sofern der formatierte Wert nicht leer ist.
set Array-Index von $set – Der formatierte Wert wird nicht ausgegeben, sondern in der Variable $set gespeichert.

¹ kann ohne Schlüssel als erster Wert angegeben werden.
² mindestens einer der mit ² markierten Parameter muss angegeben werden.

[…] – der Parameter nimmt Unterschlüssel an, z. B. name[schlüssel]=wert.

Anwendung

Gibt Datum und Uhrzeit aus. Wie CMS:DATE, nur mit Zeitanteil:

(CMS:DATETIME changed_at)                               07.03.2024, 14:30
(CMS:DATETIME changed_at format="dd.MM.y HH:mm")        07.03.2024 14:30
(CMS:DATETIME changed_at format="dd.MM.y HH:mm" autotime=true)

Mit autotime=true verschwindet die Uhrzeit, wenn im Wert keine gesetzt war (00:00:00) - für Termine „ganztägig“.

Parameter im Einzelnen

id

id liest aus einem anderen Datensatz statt aus dem laufenden - record_id oder Slug, genau wie in der URL:

(CMS:DATETIME changed_at id=1977)
(CMS:DATETIME changed_at id=impressum)

field

field ist der Hauptparameter und darf ohne Schlüssel stehen - beide Zeilen sind gleich:

(CMS:DATETIME field=changed_at)
(CMS:DATETIME changed_at)

useval

useval nimmt statt eines Feldes einen Wert direkt aus dem Template - meist eine PHP-Variable oder ein zuvor mit set abgelegter Wert:

(CMS:DATETIME useval="2024-03-07 14:30:00")
(CMS:DATETIME useval="{$set['wert']}")

format

format ist ein ICU-Muster (d Tag, MM Monat zweistellig, MMMM Monatsname, y Jahr, HH:mm Uhrzeit, EEEE Wochentag). Ohne format entscheidet die Sprache der Seite (im Backend die Locale des Benutzers):

(CMS:DATETIME online_at format="dd.MM.y HH:mm")

Ausgabe: 07.03.2024 14:30

autotime

Nur zusammen mit format: Enthält der Wert keine Uhrzeit (00:00:00), wird der Zeitanteil aus der Ausgabe entfernt:

(CMS:DATETIME event_at format="dd.MM.y HH:mm" autotime=true)

Ausgabe bei 2024-03-07 00:00:00: 07.03.2024 - bei 2024-03-07 14:30:00: 07.03.2024 14:30

timezone

timezone=true hängt den Namen der Zeitzone an, in der der Wert angezeigt wird:

(CMS:DATETIME online_at timezone=true)

Ausgabe: 07.03.2024, 14:30 Europe/Berlin

replace

replace ersetzt Teiltexte im fertig formatierten Wert - Kurzform mit ? als Trenner oder ein Eintrag je Suchtext:

(CMS:DATETIME changed_at replace=", ? um ")
(CMS:DATETIME changed_at replace[, ]=" um " replace[x]="y")

Ausgabe: 07.03.2024 um 14:30

ifempty

ifempty ersetzt die gesamte Ausgabe, wenn die Quelle leer ist; prefix und suffix entfallen dann:

(CMS:DATETIME event_at prefix="<p>" suffix="</p>" ifempty="Termin folgt")

Als leer gelten auch die Platzhalter für „kein Datum“ und „kein Ende“, mit denen camindo CMS etwa ein unbegrenztes offline_at speichert (vor dem 2. Januar 1000 bzw. ab dem 31. Dezember 8999) – mit und ohne format.

instead

instead tauscht den Wert aus, sobald die Quelle nicht leer ist - nützlich, wenn nur das Vorhandensein zählt:

(CMS:DATETIME event_at instead="Termin steht fest" ifempty="-")

prefix

prefix / suffix umschließen den Wert und erscheinen nur, wenn er nicht leer ist - so entsteht kein leeres Stand::

(CMS:DATETIME changed_at prefix="Stand: " suffix="")

suffix

(CMS:DATETIME changed_at suffix=" Uhr")

Siehe prefix.

set

set gibt nichts aus, sondern legt das Ergebnis unter $set['changed'] für das umgebende PHP oder einen späteren Befehl ab:

(CMS:DATETIME changed_at set=changed)
<?php if ($set['changed'] !== '') { ?> … <?php echo $set['changed']; ?> … <?php } ?>

← Übersicht

Stand: camindo CMS 9.1.3