Blog

Häufige Fehler beim Analysieren von Datum und Uhrzeit in Mendix

Autor
CLEVR
Letzte Aktualisierung
August 27, 2025
veröffentlicht
February 18, 2020

Datums-/Uhrzeitoperationen sind eines der Themen, die in der Programmierung allgegenwärtig sind, aber nicht viel Aufmerksamkeit erhalten. Es wird irgendwie erwartet, dass Menschen die Zeit intuitiv verstehen, da wir uns im Alltag so oft mit ihr befassen. Infolgedessen machen viele Entwickler dumme Fehler, wenn sie mit Datum und Uhrzeit arbeiten. In diesem Blogbeitrag werden wir uns einige dieser Fehler genauer ansehen, wenn Analysen/Formatieren von Datum und Uhrzeit.  

Sortiert nach Häufigkeit des Auftretens von am seltensten bis zum häufigsten (und subtilen).

A: Monat gegen Minute

Das kleine „mm“ steht für eine Minute in einer Stunde, das Großbuchstabe „MM“ steht für den Monat in einem Jahr. Es ist einfach, sie zu vermischen.

Beispiele:

parseDateTime ('21.05.2015', 'yyyy-mm-dd')

parseDateTime ('13:37', 'HH: MM')

B: Jetzt warte nur eine Sekunde

Das kleine „s“ steht für Sekunden, das große „S“ für Millisekunden, was viel seltener verwendet wird.

Beispiel:

parseDateTime ('13:37:01', 'hh:mm:ss')

C: Welcher Tag ist heute? Nun, es ist natürlich der 42. Februar.

Das kleine „dd“ steht für den Tag des Monats, das große „DD“ steht für den Tag des Jahres. Obwohl es gültige Anwendungsfälle für Letzteres gibt, wird die Kleinbuchstabenversion viel häufiger verwendet.

Beispiel:

parseDateTime ('2020-02-11', 'yyyy-MM-DD')

D: Es ist 17 Uhr

Das Kleinbuchstabe „a“ wird verwendet, um AM oder PM zu bezeichnen. Es sollte nur in Kombination mit dem Kleinbuchstaben „h“ verwendet werden, der im Bereich von 1 bis 12 liegt. Die Verwendung von „a“ in Kombination mit dem Großbuchstaben „H“ macht wenig Sinn.

Beispiel:

formatDateTime ($dateTime, 'HH:mm a')

E: Stundenlanger Spaß

Das großgeschriebene „H“ liegt im Bereich 0-23, während „h“ im Bereich 1-12 liegt. Andererseits liegt „K“ im Bereich 0-11, aber „k“ liegt im Bereich „1-24“, was nicht dem Standard entspricht und vermieden werden sollte.

Das kleingeschriebene „h“ wird normalerweise einzeln verwendet (und erfordert nicht genau zwei Ziffern) und immer in Verbindung mit einem AM/PM-Spezifizierer — da es sonst mehrdeutig ist. „H“ wird normalerweise als „HH“ verwendet, sodass 5 Uhr morgens beispielsweise als „05“ dargestellt wird.

Beispiel:

parseDateTime ('13:37', 'h: mm')

F: Wen rufst du Woche an?

Dieser ist bei weitem mein Favorit. Im Gegensatz zu allen anderen Fehlern auf dieser Liste, die mit ein paar Tests relativ einfach zu erkennen sind, ist dieser fast unmöglich zu erkennen. Das liegt daran, dass bei den meisten Daten das Wochenjahr (Großbuchstabe „Y“) und das Jahr (Kleinbuchstabe „y“) dasselbe Ergebnis liefern. Um diesen Fehler zu beheben, müssen Tester die Großbuchstaben für die letzte Woche des Jahres für die spezifischen Jahre schreiben, in denen die Werte von y und Y nicht identisch sind. Ich werde nicht einmal versuchen, den Grund dafür zu erklären. Wenn du mehr erfahren möchtest, sieh dir das an Verknüpfung.

Beispiel:
formatDateTime (DateTime (1987,12,31) ', 'dd MMM YYY') → Ergebnisse in „31. Dez. 1988" 🤯🤯🤯

Ich wünsche dir viel Spaß beim Lesen dieses Beitrags und dass er dir hilft, in Zukunft weniger Fehler zu machen!

Automatischer Code-Reviewer für Mendix

Der automatische Code-Reviewer für Mendix prüft auf über 100 Regeln in verschiedenen Kategorien wie Sicherheit, Performance, und Wartbarkeit. Es gibt auch rund 40 Zuverlässigkeit Regeln dessen Ziel es ist, Fehler in Ihrer App wie die oben genannten zu finden.

Warten Sie nicht, melden Sie sich kostenlos an und erleben Sie die Möglichkeiten automatisierter Code-Reviews aus erster Hand. Keine Kreditkarte erforderlich.

Finden Sie heraus, wie CLEVR die Wirkung Ihres Unternehmens steigern kann

Kontaktiere uns

FAQ

Can't find the answer to your question? Just get in touch

No items found.
melde dich für den Newsletter an

Erhalte persönliche Neuigkeiten und Updates in deinem Posteingang

CLEVR Company picture Alicia - Ech
No items found.
No items found.