DateLib (TM) Featureübersicht
Die DateLib ist eine portable, in ANSI-C/C++ entwickelte Bibliothek, die über 100 Funktionen für Datums- und Uhrzeitberechnungen zur Verfügung stellt. Alle Funktionen sind durch Autodocs dokumentiert. Da die Bibliothek in ANSI-C/C++ entwickelt wurde, kann diese nicht nur in bereits bestehenden C/C++ Programmen verwendet werden, sondern auch mit allen anderen Programmiersprachen, die eine Schnittstelle zu C bieten.
Generelle Features:
- Portabler ANSI-C/C++ Quellcode
- Vollständige Dokumentation im PDF-Format
- Zusätzlicher Programmcode um Shared-Libraries / DLLs zu erzeugen
- Zusätzlicher Debugging-Programmcode
Zur Datumsberechnung werden folgende Features bereitgestellt:
- Unterstützung von sechs verschiedenen Datums-/Uhrzeit-Systemen:
Julianischer Kalender, Gregorianischer Kalender, Erweiterung des Gregorianischen Kalenders nach N. Heis um einen historisch korrekten Zeitraum vom Jahr 8 bis zum Jahr 8000 (minimum) abzudecken, Julianisches Datum, Modifiziertes Julianisches Datum, Scaliger Jahre. - Unterstützung von 28 Sprachen (Englisch, Deutsch, Französisch, Spanisch, Portugiesisch, Dänisch, Italienisch, Niederländisch, Norwegisch, Schwedisch, Polnisch, Finnisch, Ungarisch, Griechisch, Esperanto, Türkisch, Latein, Russisch, Tschechisch, Katalanisch, Serbisch, Slawisch, Slowakisch, Kroatisch, Bosnisch, Estländisch, Persisch, Japanisch) für Monatsnamen, Wochentagsnamen und einige andere Datums-/Uhrzeitspezifische Texte.
- Handhabung der Gregorianischen Kalenderreform (im Oktober 1582 wurden zehn Tage aus dem Kalender gestrichen). Unterstützung für verschiedene Länder, die diese Reform später durchführten, ist bereits in der Entwicklung.
- Berechnung von Schaltjahren.
- Berechnung der Anzahl Tage eines Monats, eines Jahres und zwischen zwei Datumsangaben.
- Berechnen der Wochennummer und des Wochentages für ein Datum.
- Überprüfung der Gültigkeit eines Datums.
- Berechnung des nächstliegenden gültigen Datums bei ungültigen Angaben.
- Berechnung des Oster-Sonntags - von dem aus weitere Feiertage, wie Pfingsten etc., berechnet werden.
- Vergleich von zwei Datumsangaben.
- Mächtige Funktionen um Abstände zwischen zwei Datumsangaben zu handhaben (Datum + Zeitraum = neues Datum, Datum - Datum = Zeitraum in Tagen oder Tage, Monate und Jahre).
- Umwandlung von Datumsangaben eines Kalendersystems in alle weiteren.
- Berechnung des Alters des Mondes (innerhalb eines Monats) und der Mondphasen (Neumond, Vollmond, viertel, dreiviertel).
- Die Woche kann mit jedem Wochentag (Mo,...,So) beginnen.
- Zweistellige Jahresangaben können auf vierstellige ergänzt werden. Durch Einsatz der sliding Window' Technik kann dies für jedes beliebige Jahrhundert geschehen.
- Konvertierung von Wochentag/Woche/Jahr in Tag/Monat/Jahr und zurück.
- Sehr flexible Formatierung eines Datums in einen Text durch viele Formatierungscodes.
- Parsen von Datumstexten durch Templates oder durch automatische Analyse von über 40 Datumstextformaten.
Bei der Uhrzeitberechnung werden folgende Möglichkeiten zur Verfügung gestellt:
- Überprüfung der Gültigkeit einer Uhrzeit.
- Vergleich von Uhrzeiten.
- Umwandlung des 24 Stunden Uhrzeitformates in Sekunden und zurück.
- Umwandlung des 24 Stunden Uhrzeitformates in das Julianische Zeitformat und zurück.
- Berechnung der lokalen Zeitzone durch Angabe der Position auf der Erde.
- Sehr flexible Formatierung einer Uhrzeit (mit Zeitzonenangabe und Sommerzeit) in einen Text durch viele Formatierungscodes.
- Parsen von Uhrzeiten (inklusive Zeitzonen und Sommerzeit) durch Templates oder durch automatische Analyse.
- Korrekte Handhabung der Umstellung von Normal- auf Sommerzeit sowie Sommer- auf Normalzeit.
- Konvertierung eines Datums-/Uhrzeitpaares von lokaler zu GMT Zeit und zurück, wobei die Sommerzeit beachtet wird.