Das Feld «Datum ohne Jahr» hält einen Tag und einen Monat fest, aber kein Jahr. Es eignet sich für alles, was jedes Jahr wiederkehrt: einen Geburtstag, dessen Jahr aus Datenschutzgründen nicht gespeichert wird, ein Jubiläum oder einen Namenstag. Erfasst wird es mit zwei Auswahllisten, Tag und Monat.
Datum mit Jahr
Wenn das Jahr dazugehört, verwende das Datumsauswahl Feld.
Format
| Richtung | Format | Beispiel |
|---|---|---|
| Speichern und Schreiben (API, MCP, Import) | MM-DD | 11-05 |
| Ausgabe in API, SDK und Nitro CMS | MM-DD | 11-05 |
MM-DD ist das ISO-Datum YYYY-MM-DD ohne das Jahr: zuerst der Monat, dann der Tag, beide immer zweistellig. 11-05 ist der 5. November, nicht der 11. Mai. Weil kein Jahr da ist, gibt es anders als beim Datumsfeld keinen Unix-Timestamp: das Frontend formatiert Tag und Monat selbst.
Beim Schreiben nimmt Flyo auch diese Schreibweisen an und speichert sie als MM-DD:
| Eingabe | Gespeichert |
|---|---|
11-5 | 11-05 |
--11-05 (ISO ohne Jahr) | 11-05 |
2024-11-05 (das Jahr fällt weg) | 11-05 |
5.11., 05.11 oder 5.11.2024 | 11-05 |
Ein Tag, den es nicht gibt (02-30), wird abgelehnt. Der 29. Februar ist ein gültiger Tag. Nicht angenommen wird 11/05, weil die Reihenfolge von Tag und Monat dort nicht eindeutig ist.
Das Feld kann nicht mehrsprachig sein: Ein Tag ist in jeder Sprache derselbe.
Verfügbare Filter
| Filter | Beschreibung |
|---|---|
monthdaydate | Tag und Monat mit Punkten, 11-05 wird zu 05.11. |
monthdaytext | Tag und Monat ausgeschrieben, 11-05 wird zu «5. November» |
monthdaymonth | Nur der Monat, 11-05 wird zu «November» |
emptify | Gibt einen leeren String zurück, falls der Wert leer ist |
prefix_if_not_empty | Fügt ein Prefix vor den Wert ein, sofern er nicht leer ist |
Ausgabe
API / SDK / Nitro CMS
"geburtstag": "11-05"Ein Beispiel, wie ein Frontend den Wert ausschreibt:
const [month, day] = '11-05'.split('-').map(Number)
new Date(2000, month - 1, day).toLocaleDateString('de-CH', { day: 'numeric', month: 'long' })
// "5. November"Das Jahr 2000 ist ein Schaltjahr, so funktioniert das auch für den 29. Februar.
Andere Kontexte
| Kontext | Ausgabe | Beispiel für 11-05 |
|---|---|---|
| Export (CSV, XLS, JSON) | Tag und Monat mit Punkten | 05.11. |
| Aktivitäten und lesbare Ausgabe | Ausgeschrieben in der Sprache | 5. November |
Leerer Wert
Ein leeres Feld ergibt einen leeren String, wie bei einem Textfeld (nicht false wie beim Datumsfeld):
"geburtstag": ""OpenAPI
In der OpenAPI-Spezifikation des API SDK und der Nitro CMS Blöcke ist das Feld ein string mit dem Muster ^(\d{2}-\d{2})?$, also MM-DD oder leer. Generierte Typen sind darum ein einfacher string, ohne false oder null. In einem Nitro CMS Mapping gehört das Feld zum Ausgabetyp «Text».
Content Pools: Geburtstage in den nächsten 30 Tagen
In einem regelbasierten Content Pool filterst du nach dem Tag, und zwar in jedem Jahr. Mit dem Operator «Zwischen» und den Werten «Jetzt» und «Relativer Zeitpunkt 30» enthält der Pool alle, die in den nächsten 30 Tagen Geburtstag haben, auch über den Jahreswechsel hinweg.
Ein Textfeld umstellen
Steht der Tag bisher in einem Textfeld, lässt sich der Feldtyp auf «Datum ohne Jahr» ändern. Flyo schreibt dabei jeden lesbaren Wert in MM-DD um (5.11. wird zu 11-05). Enthält ein Eintrag einen Wert, der kein Tag ist, wird die Änderung abgelehnt und die Meldung nennt ein Beispiel. Korrigiere oder leere diese Werte zuerst. Wird ein Datumsfeld umgestellt, fällt das Jahr weg; Flyo sichert die ursprünglichen Daten vorher.

