Endet der Maya-Kalender? Nein, in Time4J wird er weiterleben!

Pünktlich zum von Esoterikern postulierten Weltuntergangstag am 21. Dezember 2012 endet die von den meisten Wissenschaftlern und Archäologen angewandte sogenannte Lange Zählung des Maya-Kalenders (englisch: long count). Ja, eventuell sehen das manche Esoteriker das sogar als “Beweis” für ihre Weltuntergangsphantasie an. Wie auch immer, die Maya haben nach neueren archäologischen Funden wohl schon darüber hinausgezählt. Interessant hierzu auch das Interview mit dem deutschen Archäologen und Maya-Forscher Nikolai Grube. Also keine Angst vor dem Weltuntergang.

Ist damit der alte Maya-Kalender beendet? Im historischen Sinne nach dem Kriterium des alltäglichen Gebrauchs ist er es schon längst. Aber ich habe beschlossen, ihn ein winziges Stück weit für historisch Interessierte weiterleben zu lassen. In meinem Projekt Time4J – eine neue Datums- und Zeitbibliothek geschrieben in der Programmiersprache Java – wird es auch eine MayanDate-Klasse geben. Kalendarische Grundlage wird der englischsprachige Eintrag zum Maya-Kalender in Wikipedia sein. Wie dort schön zu sehen ist, sind die kalendarischen Algorithmen des Kalenders erstaunlich einfach, deutlich einfacher jedenfalls als im modernen ISO-8601-Kalender. Um so mehr erstaunt es, daß z.B. eine so renommierte Bibliothek wie Joda Time so eine Komponente nicht hat. Nicht einmal eine externe Bibliothek mit dem Maya-Kalender basierend auf Joda Time scheint es da zu geben. Das einzige, was ich im Internet gefunden habe, ist ein kleines Applet zum Thema. Da bietet Perl mehr! Höchste Zeit, diesem Mangel von Java abzuhelfen.

Wann ist damit real zu rechnen? Insgeheim hatte ich gehofft, daß Time4J pünktlich zum Weltuntergangstag seine Geburt erleben sollte. Aber manchmal dauern Wunder ein wenig länger, gerade bei der Komplexität der anderen weit wichtigeren Kalendersysteme, die auch zu implementieren sind. Ich glaube eher an Spätsommer 2013. Also noch ein wenig Geduld bitte, verehrte Leser.

Name für eine Datumsklasse

Der am natürlichsten wirkende Name “Date” ist bereits seit Java 1.0 durch die Klasse java.util.Date besetzt. Damit in Java-Programmen keine Namenskonflikte entstehen, die nur durch umständliche Zusatzangaben von Paket-Qualifizierern aufgelöst werden können, besteht die Notwendigkeit, wenigstens für die elementarsten und häufig verwendeten Klassen einer JDK-Erweiterung oder externen Bibliothek Namen zu wählen, die noch nicht vergeben sind. Weiterlesen