Previous Post
ICT Trends

Wieviele Stunden hat ein Tag?

Hat ein Tag genau 24 Stunden? Oder eine Minute genau 60 Sekunden? Eigentlich würden wir diese beiden Fragen intuitiv mit Ja beantworten, in diesem Fall wären das aber gerade die falschen Antworten. Seit der Einführung der Sommerzeit im Jahre 1981 gibt es in der Schweiz nämlich pro Jahr einen Tag mit 23 und einen Tag mit 25 Stunden. Auch eine Minute muss nicht immer genau 60 Sekunden aufweisen und kann durch das Weglassen oder Hinzufügen einer Schaltsekunde auch 59 oder 61 Sekunden lang sein. Schaltsekunden sind zugegebenermassen schon ein recht abstraktes Kozept, das für die meisten Anwendungsfälle wohl kaum relevant sein wird. Diese und viele weitere interessante Aussagen über Datum und Zeit können im Internet auf der Seite Falsehoods programmers believe about time von Noah Sussman nachgelesen werden. Bei der Lektüre dieses und des Folgeartikels muss man gleich einige Gewissheiten zu Datum und Zeit über Bord werfen.

Auch Java liegt nicht immer richtig

Obwohl uns der Umgang mit Datum und Zeit relativ trivial erscheint, stellen korrekte Datums- und Zeitfunktionen die Programmierer vor ganz spezielle Herausforderungen. Anders als ein Mensch kann ein Computerprogramm nämlich in mehreren Zeitzonen gleichzeitig in Betrieb sein und muss sowohl mit vergangenen und zukünftigen Datumsangaben von verschiedenen Orten auf der Welt umgehen können. Da die Programmierung von Datum und Zeit so kompliziert ist, gibt es dafür in den meisten Programmiersprachen passende Bibliotheken, die uns Programmierern die komplexen Details ersparen sollten. Gerade in den frühen Versionen von Java hat das aber leider nicht immer sehr gut funktioniert und die Klassen Date und Calendar weisen selber einige Fehler, Unzulänglichkeiten und Einschränkungen auf.

Aus diesem Grund wurde im Jahre 2002 das Projekt Joda Time in Angriff genommen, um eine stabile und korrekte Datums- und Zeitbibliothek für Java zur Verfügung zu stellen. Unterdessen gilt Joda Time als eine der besten verfügbaren Datumsbibliotheken für Java und ihre grundlegenden Konzepte sollen jetzt über einen «Java Specification Request» namens JSR-310 und das Projekt Three Ten in eine zukünftige Version von Java (voraussichtlich Java 8) übernommen werden. Bis es aber soweit ist, lohnt es sich auf jeden Fall, Joda Time näher anzuschauen und als Ersatz für die Klassen Date und Calendar einzusetzen.


Reply to a comment

Your E-Mail-Address will not be published, neither forwarded. Required fields are marked *

Next Post