PPL7-Icon Patrick's Programming Library Version 7.0.0 - Dokumentation
ppl7::DateTime Klassenreferenz

Datenobjekt zum Speichern von Datum und Uhrzeit. Mehr ...

Verschiedenes

void print () const
 Datum und Uhrzeit auf STDOUT ausgeben. Mehr ...
 
bool notEmpty () const
 Prüft, ob ein Datum oder Uhrzeit vorhanden ist. Mehr ...
 
bool isEmpty () const
 Prüft, ob ein Datum oder Uhrzeit vorhanden ist. Mehr ...
 
bool isLeapYear () const
 Datum auf Schaltjahr prüfen. Mehr ...
 
pplint64 diffSeconds (const DateTime &other) const
 Differenz in Sekunden. Mehr ...
 
int compareSeconds (const DateTime &other, int tolerance=0) const
 Differenz in Sekunden mit Toleranz vergleichen. Mehr ...
 
static bool isLeapYear (int year)
 Jahreszahl auf Schaltjahr prüfen. Mehr ...
 
static DateTime currentTime ()
 Aktuelles Datum zurückgeben. Mehr ...
 

Öffentliche Methoden

Konstruktoren
 DateTime ()
 Konstruktor mit Initialisierung auf 0. Mehr ...
 
 DateTime (const String &datetime)
 Konstruktor mit Datumsinitialisierung aus einem String. Mehr ...
 
 DateTime (const DateTime &other)
 Copy-Konstruktor. Mehr ...
 
 DateTime (ppluint64 t)
 Konstruktor mit Angabe von Unix-Timestamp. Mehr ...
 
Datum setzen
void setTime_t (ppluint64 t)
 Datum aus Unix-Timestamp übernehmen. Mehr ...
 
void setEpoch (ppluint64 t)
 Datum aus Unix-Timestamp übernehmen. Mehr ...
 
void setLongInt (ppluint64 i)
 Datum aus einem 64-Bit-Integer übernehmen. Mehr ...
 
void set (const String &datetime)
 Datum anhand eines Strings setzen. Mehr ...
 
void set (const DateTime &other)
 Datum aus einer anderen DateTime-Variablen übernehmen. Mehr ...
 
void set (const String &date, const String &time)
 Datum und Uhrzeit aus unterschiedlichen Strings importieren. Mehr ...
 
void set (const PPLTIME &t)
 Datum aus PPLTIME-Struktur übernehmen. Mehr ...
 
void setDate (const String &date)
 Datum setzen, Uhrzeit bleibt unverändert. Mehr ...
 
void setTime (const String &time)
 Uhrzeit setzen, Datum bleibt unverändert. Mehr ...
 
void set (int year, int month, int day, int hour=0, int minute=0, int sec=0, int msec=0, int usec=0)
 Datum und Uhrzeit anhand einzelner Integer-Wert setzen. Mehr ...
 
void setCurrentTime ()
 Aktuelles Datum und Uhrzeit übernehmen. Mehr ...
 
void clear ()
 Datum auf 0 setzen. Mehr ...
 
Datum auslesen
String get (const String &format="%Y-%m-%d %H:%M:%S") const
 Datum als String im angegebenen Format zurückgeben. Mehr ...
 
String getDate (const String &format="%Y-%m-%d") const
 Datum als String zurückgeben. Mehr ...
 
String getTime (const String &format="%H:%M:%S") const
 Uhrzeit als String zurückgeben. Mehr ...
 
String getISO8601 () const
 Datum als String im ISO8601-Format zurückgeben. Mehr ...
 
String getISO8601withMsec () const
 Datum als String im ISO8601-Format mit Millisekunden zurückgeben. Mehr ...
 
String getISO8601withUsec () const
 Datum als String im ISO8601-Format mit Mikrosekunden zurückgeben. Mehr ...
 
String getRFC822Date () const
 Datumstring nach RFC-822 (Mailformat) erzeugen. Mehr ...
 
String strftime (const String &format) const
 Datum mit der Funktion strftime der Standard C Bibliothek formatieren. Mehr ...
 
ppluint64 time_t () const
 Datum in Unix-Timestamp umrechnen. Mehr ...
 
ppluint64 epoch () const
 Datum in Unix-Timestamp umrechnen. Mehr ...
 
ppluint64 longInt () const
 Datum als 64-Bit-Integer auslesen. Mehr ...
 
int year () const
 Das Jahr als Integer auslesen. Mehr ...
 
int month () const
 Den Monat als Integer auslesen. Mehr ...
 
int day () const
 Den Tag als Integer auslesen. Mehr ...
 
int hour () const
 Die Stunde als Integer auslesen. Mehr ...
 
int minute () const
 Die Minute als Integer auslesen. Mehr ...
 
int second () const
 Die Sekunde als Integer auslesen. Mehr ...
 
int millisecond () const
 Die Millisekunden als Integer auslesen. Mehr ...
 
int microsecond () const
 Die Mikrosekunden als Integer auslesen. Mehr ...
 
int week () const
 Die Wochennummer als Integer auslesen. Mehr ...
 
int weekISO8601 () const
 Die Wochennummer als Integer auslesen, Berechnung nach ISO 8601. Mehr ...
 
Operatoren
DateTimeoperator= (const String &datetime)
 Datum aus einem String übernehmen. Mehr ...
 
DateTimeoperator= (const DateTime &other)
 Datum aus einem anderen DateTime-Wert übernehmen. Mehr ...
 
String toString () const
 Rueckgabe des Timestamps als String. Mehr ...
 
String toString (const String &format) const
 Rueckgabe des Timestamps als String mittles Fomatierungsvorgabe. Mehr ...
 
 operator String () const
 Operator, der einen String zurückliefert. Mehr ...
 
bool operator< (const DateTime &other) const
 Vergleichsoperator "kleiner": <. Mehr ...
 
bool operator<= (const DateTime &other) const
 Vergleichsoperator "kleiner oder gleich": <=. Mehr ...
 
bool operator== (const DateTime &other) const
 Vergleichsoperator "gleich": ==. Mehr ...
 
bool operator!= (const DateTime &other) const
 Vergleichsoperator "ungleich": !=. Mehr ...
 
bool operator>= (const DateTime &other) const
 Vergleichsoperator "größer oder gleich": >=. Mehr ...
 
bool operator> (const DateTime &other) const
 Vergleichsoperator "größer": > Mehr ...
 

Private Attribute

ppluint8 dd
 Tag. Mehr ...
 
ppluint8 hh
 Stunden. Mehr ...
 
ppluint8 ii
 Minuten. Mehr ...
 
ppluint8 mm
 Monat. Mehr ...
 
ppluint8 ss
 Sekunden. Mehr ...
 
ppluint32 us
 
ppluint16 yy
 Jahr. Mehr ...
 

Ausführliche Beschreibung

Beschreibung:
Dies ist eine Klasse zum Speichern von Datum und Uhrzeit. Mit den Funktionen set, setDate und setTime können Datum und/oder Uhrzeit gesetzt werden, mit get, getDate, getTime und getISO8601 kann der Wert ausgelesen werden. Alternativ kann mit setTime_t und time_t ein Unix-Timestamp gesetzt oder gelesen werden (Sekunden seit 1970), oder mit setLongInt und longInt ein 64-Bit Wert gesetzt oder gelesen werden, in dem die einzelnen Bestandteile bitweise kodiert sind.
Seit
Die Klasse wurde mit Version 6.4.1 eingeführt.

Beschreibung der Konstruktoren und Destruktoren

ppl7::DateTime::DateTime ( )
Beschreibung:
Mit diesem Konstruktor ohne Parameter wird der Wert der Datumsklasse auf 0 gesetzt. Die Funktion DateTime::isEmpty "isEmpty" würde true zurückliefern.
ppl7::DateTime::DateTime ( const String datetime)
Beschreibung:
Über diesen Konstruktor wird ein DateTime Objekt anhand des im String datetime enthaltenen Datums und Uhrzeit erstellt. Die unterstützten Formate sind in der Funktion set beschrieben.
Parameter
[in]datetimeString mit Datum und Uhrzeit
Ausnahmebehandlung
IllegalArgumentExceptionWird geworfen, wenn der String datetime ein ungültiges oder unbekanntes Datumsformat hat. Ausnahmen: Ist der String leer oder enthält nur den Buchstaben "T" oder den Wert "0" wird keine Exception geworfen, sondern der Datumswert auf 0 gesetzt.
ppl7::DateTime::DateTime ( const DateTime other)
Beschreibung:
Über diesen Konstruktor wird das Datum eines anderen DateTime-Wertes übernommen.
Parameter
[in]otherReferenz auf den zu kopierenden DateTime-Wert
ppl7::DateTime::DateTime ( ppluint64  t)
Beschreibung:
Mit dieser Konstruktor werden Datum und Uhrzeit aus einem Unix-Timestamp übernommen (Sekunden seit 1970), wie ihn Beispielsweise die C-Funktion "time()" zurückliefert. Es ist daher nicht möglich ein Datum vor 1970 zu setzen.
Parameter
t64-Bit Integer mit den Sekunden seit 1970.

Dokumentation der Elementfunktionen

void ppl7::DateTime::clear ( )
Beschreibung:
Mit dieser Funktion wird der Datumswert der Klasse auf 0 gesetzt. Die Funktion isEmpty würde true zurückliefern. Die Klasse wird somit wieder in den Ausgangszustand versetzt.
int ppl7::DateTime::compareSeconds ( const DateTime other,
int  tolerance = 0 
) const
Beschreibung:
Mit dieser Funktion wird die Differenz des Zeitwerts dieses DateTime mit der angegebenen DateTime other auf Sekundenbasis berechnet und anschließend mit der angegebenen Toleranz tolerance verglichen.
Parameter
[in]otherZu vergleichender Zeitwert
[in]toleranceOptionaler Wert, der die akzeptable Toleranz beider Werte in Sekunden angibt
Rückgabe
Sind beide Zeitwerte identisch oder liegen im Bereich der angegebenen Toleranz, gibt die Funktion 1 zurück, andernfalls 0. Es wird kein Fehlercode gesetzt.
DateTime ppl7::DateTime::currentTime ( )
static
Beschreibung:
Diese statische Funktion liefert das aktuelle Datum und die aktuelle Uhrzeit in Form einer DateTime-Variablen zurück.
Rückgabe
DateTime-Variable mit dem aktuellen Datum und Uhrzeit.
int ppl7::DateTime::day ( ) const
Beschreibung:
Diese Funktion gibt den Tag als Integer zurück.
Rückgabe
Integer-Wert mit dem Tag
pplint64 ppl7::DateTime::diffSeconds ( const DateTime other) const
Beschreibung:
Diese Funktion gibt die Differenz dieses DateTime zu dem angegebenen DateTime other in Sekunden zurück. Liegt der Zeitpunkt von other vor diesem, ist der Rückgabewert negativ.

Vor dem Vergleich werden beide Zeitwerte in UTC umgewandelt.

Parameter
[in]otherZu vergleichender Zeitwert
Rückgabe
Differenz in Sekunden
ppluint64 ppl7::DateTime::epoch ( ) const
Beschreibung:
Mit dieser Funktion wird das in der Variablen enthaltene Datum und Uhrzeit in einen Unix-Timestamp umgerechnet (Sekunden seit 1970).
Rückgabe
Sekunden seit 1970 oder 0, wenn das Datum sich nicht umrechnen läßt, z.B. wenn das Jahr vor 1970 liegt.
Siehe auch
http://de.wikipedia.org/wiki/Unixzeit
String ppl7::DateTime::get ( const String format = "%Y-%m-%d %H:%M:%S") const
Beschreibung:
Datum als String im angegebenen Format zurückgeben
Parameter
[in]formatFormatierungsstring. Wird dieser nicht angegeben, wird das Datum in folgendem Format zurückgegeben: "%Y-%m-%d %H:%M:%S"
Rückgabe
String mit dem Datum im gewünschten Format
Formatierung
Erlaubt sind folgende Formatzeichen:
  • %Y: Das Jahr als 4-stellige Angabe (z.B. 2010)
  • %y: Das Jahr als 2-stellige Angabe ohne Jahrhundert (z.B. 10)
  • %m: Der Monat als zweistellige Zahl (01 bis 12)
  • %d: Der Tag als zweistellige Zahl (01 bis 31)
  • %H: Stunden als zweistellige Zahl (00 bis 23)
  • %M: Minuten als zweistellige Zahl (00 bis 59)
  • %S: Sekunden als zweistellige Zahl (00 bis 59)
  • %*: Millisekunden als dreistellige Zahl (000 bis 999)
  • %u: Mikrosekunden als sechstellige Zahl (000000 bis 999999)
Falls das im Objekt enthaltene Datum > 1900 ist, können weitere Formatanweisungen verwendet werden.

Normale Zeichen im Format werden ohne Konvertierung kopiert. Konvertierungsanweisungen werden durch »%« charakterisiert. Folgende Anweisungen stehen zur Verfügung:

  • %a Der abgekürzte Wochentag abhängig von der momentanen Locale.
  • %A Der gesamte Wochentag abhängig von der momentanen Locale.
  • %b Der abgekürzte Monatsname abhängig von der momentanen Locale.
  • %B Der volle Monatsname abhängig von der momentanen Locale.
  • %c Das bevorzugte Datums- und Uhrzeit-Repräsentation laut Einstellungen der momentanen Locale.
  • %C Das Jahrhundert als zweistellige Zahl.
  • %d Der Tag im Monat als Dezimalzahl (01 - 31).
  • %D Äquivalent zu %m/%d/%y. (US-amerikanisches Format. In anderen Ländern ist %d/%m/%y durchaus üblich . In internationalem Kontext ist dieses Format daher mehrdeutig und sollte nicht verwendet werden.) (SU)
  • %e Wie %d, der Tag im Monat als Dezimalzahl, aber eine führende Null ist durch ein Leerzeichen ersetzt. (SU)
  • %E Modifikator: Alternatives Format benutzen, s.u. (SU)
  • %g Wie %G, aber ohne das Jahrhundert, also mit zweistelligem Jahr (00-99). (TZ)
  • %G Das Jahr laut ISO 8601 mit dem Jahrhundert als Dezimalzahl. Das vierstellige Jahr, das zu ISO-Wochennummer (siehe %V) passt. Es hat dasselbe Format und denselben Wert wie %y, nur dass, wenn die ISO-Wochennummer zum vorhergehenden oder nächsten Jahr gehört, dieses Jahr stattdessen benutzt wird. (TZ)
  • %h Äquivalent zu %b. (SU)
  • %H Die Stunde im 24h-Format als Ganzzahl (00 - 23).
  • %I Die Stunde im 12h-Format als Ganzzahl (01 - 12).
  • %j Der Tag im Jahr als Ganzzahl (001 - 366).
  • %k Die Stunde im 24h-Format als Ganzzahl (0 - 23); einzelne Ziffern haben ein vorangestelltes Leerzeichen. (Siehe %H.) (TZ)
  • %l Die Stunde im 12h-Format als Ganzzahl (0 - 12); einzelne Ziffern haben ein vorangestelltes Leerzeichen. (Siehe %I.) (TZ)
  • %m Der Monat als Ganzzahl (01 - 12).
  • %M Die Minute als Ganzzahl (00 - 59).
  • %n Ein Zeilenvorschub. (SU)
  • %O Modifikator: Alternatives Format benutzen, s.u. (SU)
  • %p Entweder »AM« oder »PM«, je nach der übergebenen Uhrzeit, oder die zugehörigen Zeichenketten in der momentanen Locale. Mittag erhält »PM«, Mitternacht »AM«.
  • %P Wie %p, aber in Kleinbuchstaben. (GNU)
  • %r Zeit in AM/PM-Notation; in der POSIX-Locale ist das äquivalent zu »%I:%M:%S %p«. (SU)
  • %R Zeit in 24h-Notation (%H:%M). (SU) Für eine Version mit Sekunden siehe %T.
  • %s Die Zahl der Sekunden seit der Epoche, also seit 1970-01-01 00:00:00 UTC. (TZ)
  • %S Die Sekunde als Ganzzahl (00 - 61).
  • %t Ein Tabulatorzeichen. (SU)
  • %T Zeit in 24h-Notation (%H:%M:%S). (SU)
  • %u Der Tag der Woche als Zahl von 1 bis 7, mit Montag als 1. Siehe auch %w. (SU)
  • %U Die Wochennummer des aktuellen Jahres als Ganzzahl von 00 bis 53, beginnend mit dem ersten Sonntag als erster Tag der ersten Woche. Siehe auch %V und %W.
  • %V Die Wochennummer nach ISO 8601:1988 als Dezimalzahl von 01 bis 53, wobei Woche 1 die erste Woche ist, die wenigstens 4 Tage im laufenden Jahr hat, mit Montag als dem ersten Tag der Woche. Siehe auch %U und %W. (SU)
  • %w Der Tag der Woche als Zahl von 0 bis 6, mit Sonntag als 0. Siehe auch %u.
  • %W Die Wochennummer des aktuellen Jahres als Ganzzahl von 00 bis 53, beginnend mit dem ersten Montag als erster Tag der ersten Woche.
  • %x Die bevorzugte Datums-Repräsentation ohne die Zeit in der momentanen Locale.
  • %X Die bevorzugte Uhrzeit-Repräsentation ohne das Datum in der momentanen Locale.
  • %y Das Jahr als Ganzzahl ohne das Jahrhundert (00 - 99).
  • %Y Das Jahr als Ganzzahl mit dem Jahrhundert.
  • %z Die Zeitzone als Stundendifferenz zu GMT. Benötigt, um RFC822-konforme Datumsangaben zu erhalten (mit »%a, %d %b %Y %H:%M:%S %z«). (GNU)
  • %Z Die Zeitzone oder der Name oder die Abkürzung.
  • %+ Datum und Zeit im Format von date(1). (TZ)
  • %% Das Zeichen »%«.

Einige Konvertierungsanweisungen können durch vorangestelltes E oder O modifiziert werden, um anzufordern, dass ein alternatives Format benutzt werden soll. Existiert das alternative Format in der momentanen Locale nicht, ist das Verhalten so, als ob es keine Modifikation gibt. (SU)

Die Single Unix Specification erwähnt %Ec, %EC, %Ex, %EX, %Ry, %EY, %Od, %Oe, %OH, %OI, %Om, %OM, %OS, %Ou, %OU, %OV, %Ow, %OW, %Oy, wobei der Effekt von O ist, alternative numerische Symbole zu benutzen (etwa römische Zahlen), und der von E, eine Locale-abhängige alternative Repräsentation zu wählen.

String ppl7::DateTime::getDate ( const String format = "%Y-%m-%d") const
Beschreibung:
Diese Funktion ist identisch zu DateTime::get, hat aber einen anderen Default für den optionalen Formatstring.
Parameter
[in]formatFormatierungsstring. Wird dieser nicht angegeben, wird das Datum in folgendem Format zurückgegeben: "%Y-%m-%d"
Rückgabe
String mit dem Datum im gewünschten Format
Siehe auch
Siehe DateTime::get
String ppl7::DateTime::getISO8601 ( ) const
Beschreibung:
Diese Funktion gibt das Datum als String im ISO8601-Format zurück, das folgenden Aufbau hat: "yyyy-mm-ddThh:ii:ss+zz:zz"
Der Wert "+zz:zz" gibt den Offset zu GMT in Stunden und Minuten an und kann auch negativ sein. Er wird allerdings nur ergänzt, wenn das Jahr >=1900 ist und das Betriebssystem den Wert "tm_gmtoff" in seiner tm-Structure hat (siehe "man ctime").
Rückgabe
String mit dem Datum im ISO8601-Format
String ppl7::DateTime::getISO8601withMsec ( ) const
Beschreibung:
Diese Funktion gibt das Datum als String im ISO8601-Format mit Millisekunden zurück, das folgenden Aufbau hat: "yyyy-mm-ddThh:ii:ss.xxx+zz:zz"
Der Wert "xxx" stellt die Millisekunden dar.
Der Wert "+zz:zz" gibt den Offset zu GMT in Stunden und Minuten an und kann auch negativ sein. Er wird allerdings nur ergänzt, wenn das Jahr >=1900 ist und das Betriebssystem den Wert "tm_gmtoff" in seiner tm-Structure hat (siehe "man ctime").
Rückgabe
String mit dem Datum im ISO8601-Format
String ppl7::DateTime::getISO8601withUsec ( ) const
Beschreibung:
Diese Funktion gibt das Datum als String im ISO8601-Format mit Mikrosekunden zurück, das folgenden Aufbau hat: "yyyy-mm-ddThh:ii:ss.xxxxxx+zz:zz"
Der Wert "xxxxxx" stellt die Mikrosekunden dar.
Der Wert "+zz:zz" gibt den Offset zu GMT in Stunden und Minuten an und kann auch negativ sein. Er wird allerdings nur ergänzt, wenn das Jahr >=1900 ist und das Betriebssystem den Wert "tm_gmtoff" in seiner tm-Structure hat (siehe "man ctime").
Rückgabe
String mit dem Datum im ISO8601-Format
String ppl7::DateTime::getTime ( const String format = "%H:%M:%S") const
Beschreibung:
Diese Funktion ist identisch zu DateTime::get, hat aber einen anderen Default für den optionalen Formatstring.
Parameter
[in]formatFormatierungsstring. Wird dieser nicht angegeben, wird die Uhrzeit in folgendem Format zurückgegeben: "%H-%M-%S"
Rückgabe
String mit der Uhrzeit im gewünschten Format
Siehe auch
Siehe DateTime::get
int ppl7::DateTime::hour ( ) const
Beschreibung:
Diese Funktion gibt die Stunde als Integer zurück.
Rückgabe
Integer-Wert mit der Stunde
bool ppl7::DateTime::isEmpty ( ) const
Beschreibung:
Diese Funktion liefert true zurück, wenn kein Datum und keine Uhrzeit gesetzt ist, der Wert also Null ist. Sie ist somit das Gegenteil zu DateTime::notEmpty.
Rückgabe
true oder false
bool ppl7::DateTime::isLeapYear ( ) const
Beschreibung:
Mit dieser Funktion wird geprüft, ob es sich bei dem in der Variable gespeicherten Jahr um ein Schaltjahr handelt oder nicht.
Rückgabe
Liefert true zurück, wenn es sich um ein Schaltjahr handelt, andernfalls false.
bool ppl7::DateTime::isLeapYear ( int  year)
static
Beschreibung:
Mit dieser statischen Funktion kann geprüft werden, ob es sich bei dem angegebenen Jahr year um ein Schaltjahr handelt oder nicht.
Parameter
[in]yearDas zu prüfende Jahr
Rückgabe
Liefert true zurück, wenn es sich um ein Schaltjahr handelt, andernfalls false.
ppluint64 ppl7::DateTime::longInt ( ) const

Mit dieser Funktion werden Datum, Uhrzeit und Millisekunden als Long Integer (64 Bit) zurückgegeben, wie er von der Funktion CDateTime::setLongInt eingelesen werden kann. Der Aufbau des Integer-Wertes ist intern und kann sich von Version zu Version ändern.

Rückgabe
64-Bit-Integer mit dem Timestamp
int ppl7::DateTime::microsecond ( ) const
Beschreibung:
Diese Funktion gibt die Mikrosekunden als Integer zurück.
Rückgabe
Integer-Wert mit den Mikrosekunden
int ppl7::DateTime::millisecond ( ) const
Beschreibung:
Diese Funktion gibt die Millisekunden als Integer zurück.
Rückgabe
Integer-Wert mit den Millisekunden
int ppl7::DateTime::minute ( ) const
Beschreibung:
Diese Funktion gibt die Minute als Integer zurück.
Rückgabe
Integer-Wert mit der Minute
int ppl7::DateTime::month ( ) const
Beschreibung:
Diese Funktion gibt den Monat als Integer zurück.
Rückgabe
Integer-Wert mit dem Monat
bool ppl7::DateTime::notEmpty ( ) const
Beschreibung:
Diese Funktion liefert true zurück, wenn ein Datum oder Uhrzeit gesetzt ist, der Wert also nicht Null ist. Sie ist somit das Gegenteil zu DateTime::isEmpty.
Rückgabe
true oder false
ppl7::DateTime::operator String ( ) const
Beschreibung:
Dieser Operator liefert den Inhalt der Variablen als String in folgendem Format zurück: "yyyy-mm-dd hh:ii:ss.micses".
Rückgabe
Datums-String
bool ppl7::DateTime::operator!= ( const DateTime other) const
Beschreibung:
Mit diesem Operator werden zwei CDateTime Werte miteinander verglichen. Die Funktion gibt true zurück, wenn die Werte nicht übereinstimmen.
Parameter
otherDer zweite Wert, mit dem der Vergleich durchgeführt werden soll
Rückgabe
Gibt true zurück, wenn die Werte nicht übereinstimmen.
bool ppl7::DateTime::operator< ( const DateTime other) const
Beschreibung:
Mit diesem Operator werden zwei CDateTime Werte miteinander verglichen. Die Funktion gibt true zurück, wenn der erste Wert kleiner ist als der Zweite.
Parameter
otherDer zweite Wert, mit dem der Vergleich durchgeführt werden soll
Rückgabe
Gibt true zurück, wenn der erste Wert kleiner ist als der Zweite.
bool ppl7::DateTime::operator<= ( const DateTime other) const
Beschreibung:
Mit diesem Operator werden zwei CDateTime Werte miteinander verglichen. Die Funktion gibt true zurück, wenn der erste Wert kleiner oder gleich groß ist, wie der Zweite.
Parameter
otherDer zweite Wert, mit dem der Vergleich durchgeführt werden soll
Rückgabe
Gibt true zurück, wenn der erste Wert kleiner oder gleich gross ist wie der Zweite.
DateTime & ppl7::DateTime::operator= ( const String datetime)
Beschreibung:
Mit diesem Operator werden Datum und Uhrzeit aus dem String datetime übernommen. Die unterstützten Formate sind in der Funktion set beschrieben.
Parameter
[in]datetimeString mit Datum und Uhrzeit
Rückgabe
Gibt eine Referenz auf den DateTime-Wert zurück
Ausnahmebehandlung
IllegalArgumentExceptionWird geworfen, wenn der String datetime ein ungültiges oder unbekanntes Datumsformat hat. Ausnahmen: Ist der String leer oder enthält nur den Buchstaben "T" oder den Wert "0" wird keine Exception geworfen, sondern der Datumswert auf 0 gesetzt.
DateTime & ppl7::DateTime::operator= ( const DateTime other)
Beschreibung:
Mit diesem Operator wird der Wert eines anderen DateTime-Wertes übernommen.
Parameter
[in]otherReferenz auf den zu kopierenden DateTime-Wert
Rückgabe
Gibt eine Referenz auf den DateTime-Wert zurück
bool ppl7::DateTime::operator== ( const DateTime other) const
Beschreibung:
Mit diesem Operator werden zwei CDateTime Werte miteinander verglichen. Die Funktion gibt true zurück, wenn beide Werte identisch sind.
Parameter
otherDer zweite Wert, mit dem der Vergleich durchgeführt werden soll
Rückgabe
Gibt true zurück, wenn beide Werte identisch sind.
bool ppl7::DateTime::operator> ( const DateTime other) const
Beschreibung:
Mit diesem Operator werden zwei CDateTime Werte miteinander verglichen. Die Funktion gibt true zurück, wenn der erste Wert größer ist als der Zweite.
Parameter
otherDer zweite Wert, mit dem der Vergleich durchgeführt werden soll
Rückgabe
Gibt true zurück, wenn der erste Wert größer ist als der Zweite.
bool ppl7::DateTime::operator>= ( const DateTime other) const
Beschreibung:
Mit diesem Operator werden zwei CDateTime Werte miteinander verglichen. Die Funktion gibt true zurück, wenn der erste Wert größer oder gleich groß ist, wie der Zweite.
Parameter
otherDer zweite Wert, mit dem der Vergleich durchgeführt werden soll
Rückgabe
Gibt true zurück, wenn der erste Wert größer oder gleich groß ist, wie der Zweite.
void ppl7::DateTime::print ( ) const
Beschreibung:
Mit dieser Funktion wird Datum und Uhrzeit auf der Konsole (STDOUT) ausgegeben. Sie ist nur zu Debug-Zwecken gedacht.
int ppl7::DateTime::second ( ) const
Beschreibung:
Diese Funktion gibt die Sekunde als Integer zurück.
Rückgabe
Integer-Wert mit der Sekunde
void ppl7::DateTime::set ( const String datetime)
Beschreibung:
Mit dieser Funktion wird das Datum anhand des Strings datetime gesetzt. Dabei versucht die Funktion anhand mehrerer Regular Expressions zu erkennen, in welchem Format die Datumsangabe vorliegt. Es werden folgende Formate erkannt:
  • yyyy-mm-dd hh:ii:ss[.mms]
  • yyyy.mm.dd hh:ii:ss[.mms]
  • dd-mm-yyyy hh:ii:ss[.mms]
  • dd.mm.yyyy hh:ii:ss[.mms]
  • yyyy-mm-ddThh:ii:ss[.mms]+oo:oo (ISO 8601-Format)
  • yyyy-mm-dd
  • yyyy.mm.dd
  • dd-mm-yyyy
  • dd.mm.yyyy
  • T: wird als Leerstring interpretiert und setzt das Datum auf 0
  • Leerstring: setzt das Datum auf 0
Legende:
  • yyyy: 4-Stellige Jahreszahl. Muss zwingend 4-stellig sein, da sonst nicht erkannt wird ob die Jahreszahl an erster oder dritter Stelle steht. Jahreszahlen < 1000 müssen daher mit führenden Nullen aufgefüllt werden, z.B. "0500" statt "500". Es werden keine negativen Jahreszahlen unterstützt.
  • mm: Monatszahl zwischen 1 und 12. Kann ein- oder zweistellig sein
  • dd: Monatstag zwischen 1 und 31, kann ein- oder zweistellig sein.
  • hh: Stunden zwischen 0 und 23, kann ein- oder zweistellig sein
  • ii: Minuten zwischen 0 und 59, kann ein- oder zweistellig sein
  • ss: Sekunden zwischen 0 und 59, kann ein- oder zweistellig sein
  • mms: Millisekunden oder Mikrosekunden: Ein dreistelliger Wert wird als Millisekunden interpretiert, ein sechstelliger Wert als Mikrosekunden. Wert ist optional und kann statt mit einem Punkt auch mit einem Doppelpunkt von den Sekunden der Uhrzeit getrennt sein.
Bei der Datumsangabe kann als Trennzeichen wahlweise Punkt oder Minus verwendet werden. Es muss mindestens ein vollständiges Datum angegeben werden und optional eine vollständige Uhrzeit (hh:ii:ss), wobei die Millisekunden optional sind.
Parameter
[in]datetimeString mit dem zu setzenden Datum und optional der Uhrzeit
Ausnahmebehandlung
IllegalArgumentExceptionWird geworfen, wenn der String datetime ein ungültiges oder unbekanntes Datumsformat hat. Ausnahmen: Ist der String leer oder enthält nur den Buchstaben "T" oder den Wert "0" wird keine Exception geworfen, sondern der Datumswert auf 0 gesetzt.
void ppl7::DateTime::set ( const DateTime other)
Beschreibung:
Mit dieser Funktion wird der Wert einer anderen DateTime-Variablen übernommen.
Parameter
[in]otherReferenz auf eine andere DateTime-Variable, dessen Wert kopiert werden soll.
void ppl7::DateTime::set ( const String date,
const String time 
)
Beschreibung:
Mit dieser Funktion kann das Datum und die Uhrzeit aus zwei unterschiedlichen Strings übernommen werden. Dazu werden beide Strings einfach mit Space getrennt hintereinander gehangen und dann die set-Funktion aufgerufen, die nur einen String-Parameter erwartet.
Parameter
[in]dateReferenz auf den String mit dem Datum. Dieses kann folgende Formate haben:
  • yyyy-mm-dd
  • yyyy.mm.dd
  • dd-mm-yyyy
  • dd.mm.yyyy
  • Die Jahreszahl muss 4-stellig sein, Tag und Monat können ein- oder zweistellig sein. Statt Punkt oder Minus kann auch noch Doppelpunkt oder Komma als Trennzeichen verwendet werden.
[in]timeReferenz auf den String mit der Uhrzeit. Diese muss folgendes Format haben:
  • hh:ii:ss[.mms]
  • Stunde, Minute und Sekunde können ein- oder zweistellig sein, Statt Doppelpunkt kann auch Komma, Punkt oder Minus als Trennzeichen verwendet werden. Die
Ausnahmebehandlung
IllegalArgumentExceptionWird geworfen, wenn der String datetime ein ungültiges oder unbekanntes Datumsformat hat. Ausnahmen: Ist der String leer oder enthält nur den Buchstaben "T" oder den Wert "0" wird keine Exception geworfen, sondern der Datumswert auf 0 gesetzt.
Siehe auch
Eine genauere Beschreibung der Formate samt Legende ist hier zu finden.
void ppl7::DateTime::set ( const PPLTIME t)
Beschreibung:
Mit dieser Funktion wird Datum und Zeit aus einer PPLTIME-Struktur übernommen.
Parameter
[in]tReferenz auf eine PPLTIME-Struktur
Achtung
Gegenwärtig werden Werte ausserhalb des Gültigkeitsbereiches abgeschnitten! Aus dem Monat 0 oder -10 würde 1 werden, aus 13 oder 12345 würde 12 werden. Dieses Verhalten wird sich in einer späteren Version noch ändern! Geplant ist, dass bei Überlauf eines Wertes die anderen automatisch angepasst werden, so dass z.B. aus dem 32.12.2010 automatisch der 01.01.2011 wird.
void ppl7::DateTime::set ( int  year,
int  month,
int  day,
int  hour = 0,
int  minute = 0,
int  sec = 0,
int  msec = 0,
int  usec = 0 
)
Beschreibung:
Mit dieser Funktion wird das Datum anhand einzelner Integer-Werten gesetzt.
Parameter
[in]yearJahreszahl zwischen 0 und 9999
[in]monthMonat zwischen 1 und 12
[in]dayTag zwischen 1 und 31
[in]hourStunde zwischen 0 und 23. Optionaler Wert, Default ist 0.
[in]minuteMinute zwischen 0 und 59. Optionaler Wert, Default ist 0.
[in]secSekunde zwischen 0 und 59. Optionaler Wert, Default ist 0.
[in]msecMillisekunde zwischen 0 und 999. Optionaler Wert, Default ist 0.
[in]usecMikrosekunde zwischen 0 und 999999. Optionaler Wert, Default ist 0.
Achtung
Gegenwärtig werden Werte ausserhalb des Gültigkeitsbereiches abgeschnitten! Aus dem Monat 0 oder -10 würde 1 werden, aus 13 oder 12345 würde 12 werden. Dieses Verhalten wird sich in einer späteren Version noch ändern! Geplant ist, dass bei Überlauf eines Wertes die anderen automatisch angepasst werden, so dass z.B. aus dem 32.12.2010 automatisch der 01.01.2011 wird.
Wird bei year, month und day der Wert "0" angegeben, wird der Timestamp auf 0 gesetzt.
Zu beachten
Millisekunden und Mikrosekunden werden intern nach der Formel msec*1000+usec zusammengerechnet. Die Werte sollten daher entweder alternativ verwendet werden oder es muss sichergestellt sein, dass die Mikrosekunden den Millisekundenanteil nicht enthalten.
void ppl7::DateTime::setCurrentTime ( )
Beschreibung:
Mit dieser Funktion wird die Variable auf das aktuelle Datum und die aktuelle Uhrzeit gesetzt. Es gibt sie auch als statische Funktion currentTime.
void ppl7::DateTime::setDate ( const String date)
Beschreibung:
Mit dieser Funktion wird nur das Datum der Klasse verändert, die Uhrzeit bleibt erhalten.
Parameter
[in]dateReferenz auf den String mit dem zu setzenden Datum. Das Format wird bei der set-Funktion genauer beschrieben.
Ausnahmebehandlung
IllegalArgumentExceptionWird geworfen, wenn der String datetime ein ungültiges oder unbekanntes Datumsformat hat. Ausnahmen: Ist der String leer oder enthält nur den Buchstaben "T" oder den Wert "0" wird keine Exception geworfen, sondern der Datumswert auf 0 gesetzt.
void ppl7::DateTime::setEpoch ( ppluint64  t)
Beschreibung:
Mit dieser Funktion werden Datum und Uhrzeit aus einem Unix-Timestamp übernommen (Sekunden seit 1970), wie ihn Beispielsweise die C-Funktion "time()" zurückliefert. Es ist daher nicht möglich ein Datum vor 1970 zu setzen.
Parameter
t64-Bit Integer mit den Sekunden seit 1970.
Siehe auch
http://de.wikipedia.org/wiki/Unixzeit
void ppl7::DateTime::setLongInt ( ppluint64  i)
Beschreibung:
Mit dieser Funktion werden Datum, Uhrzeit und Millisekunden aus einem Long Integer (64 Bit) übernommen, wie ihn die Funktion CDateTime::longInt zurückgibt. Der Aufbau des Integer-Wertes ist intern und kann sich von Version zu Version ändern.
Parameter
i64-Bit Integer
void ppl7::DateTime::setTime ( const String time)
Beschreibung:
Mit dieser Funktion wird nur die Uhrzeit der Klasse verändert, das Datum bleibt erhalten.
Parameter
[in]timeReferenz auf den String mit der zu setzenden Uhrzeit. Das Format wird bei der set-Funktion genauer beschrieben.
Ausnahmebehandlung
IllegalArgumentExceptionWird geworfen, wenn der String datetime ein ungültiges oder unbekanntes Datumsformat hat. Ausnahmen: Ist der String leer oder enthält nur den Buchstaben "T" oder den Wert "0" wird keine Exception geworfen, sondern der Datumswert auf 0 gesetzt.
void ppl7::DateTime::setTime_t ( ppluint64  t)
Beschreibung:
Mit dieser Funktion werden Datum und Uhrzeit aus einem Unix-Timestamp übernommen (Sekunden seit 1970), wie ihn Beispielsweise die C-Funktion "time()" zurückliefert. Es ist daher nicht möglich ein Datum vor 1970 zu setzen.
Parameter
t64-Bit Integer mit den Sekunden seit 1970.
String ppl7::DateTime::strftime ( const String format) const
Beschreibung:
Mit dieser Funktion wird das Datum mittels der Funktion strftime aus der Standard C Bibliothek formatiert.
Parameter
[in]formatSiehe Manpage zu strftime: man strftime
Rückgabe
String im gewünschten Format
ppluint64 ppl7::DateTime::time_t ( ) const
Beschreibung:
Mit dieser Funktion wird das in der Variablen enthaltene Datum und Uhrzeit in einen Unix-Timestamp umgerechnet (Sekunden seit 1970).
Rückgabe
Sekunden seit 1970 oder 0, wenn das Datum sich nicht umrechnen läßt, z.B. wenn das Jahr vor 1970 liegt.
String ppl7::DateTime::toString ( ) const
Beschreibung:
Liefert den Timestamp als String in folgendem Format zurück: "yyyy-mm-dd hh:ii:ss.micses".
Rückgabe
Datums-String
String ppl7::DateTime::toString ( const String format) const

Datum als String im angegebenen Format zurückgeben.

Beschreibung:
Datum als String im angegebenen Format zurückgeben
Parameter
[in]formatFormatierungsstring. Wird dieser nicht angegeben, wird das Datum in folgendem Format zurückgegeben: "%Y-%m-%d %H:%M:%S"
Rückgabe
String mit dem Datum im gewünschten Format
Formatierung
Erlaubt sind folgende Formatzeichen:
  • %Y: Das Jahr als 4-stellige Angabe (z.B. 2010)
  • %y: Das Jahr als 2-stellige Angabe ohne Jahrhundert (z.B. 10)
  • %m: Der Monat als zweistellige Zahl (01 bis 12)
  • %d: Der Tag als zweistellige Zahl (01 bis 31)
  • %H: Stunden als zweistellige Zahl (00 bis 23)
  • %M: Minuten als zweistellige Zahl (00 bis 59)
  • %S: Sekunden als zweistellige Zahl (00 bis 59)
  • %*: Millisekunden als dreistellige Zahl (000 bis 999)
  • %u: Mikrosekunden als sechstellige Zahl (000000 bis 999999)
Falls das im Objekt enthaltene Datum > 1900 ist, können weitere Formatanweisungen verwendet werden.

Normale Zeichen im Format werden ohne Konvertierung kopiert. Konvertierungsanweisungen werden durch »%« charakterisiert. Folgende Anweisungen stehen zur Verfügung:

  • %a Der abgekürzte Wochentag abhängig von der momentanen Locale.
  • %A Der gesamte Wochentag abhängig von der momentanen Locale.
  • %b Der abgekürzte Monatsname abhängig von der momentanen Locale.
  • %B Der volle Monatsname abhängig von der momentanen Locale.
  • %c Das bevorzugte Datums- und Uhrzeit-Repräsentation laut Einstellungen der momentanen Locale.
  • %C Das Jahrhundert als zweistellige Zahl.
  • %d Der Tag im Monat als Dezimalzahl (01 - 31).
  • %D Äquivalent zu %m/%d/%y. (US-amerikanisches Format. In anderen Ländern ist %d/%m/%y durchaus üblich . In internationalem Kontext ist dieses Format daher mehrdeutig und sollte nicht verwendet werden.) (SU)
  • %e Wie %d, der Tag im Monat als Dezimalzahl, aber eine führende Null ist durch ein Leerzeichen ersetzt. (SU)
  • %E Modifikator: Alternatives Format benutzen, s.u. (SU)
  • %g Wie %G, aber ohne das Jahrhundert, also mit zweistelligem Jahr (00-99). (TZ)
  • %G Das Jahr laut ISO 8601 mit dem Jahrhundert als Dezimalzahl. Das vierstellige Jahr, das zu ISO-Wochennummer (siehe %V) passt. Es hat dasselbe Format und denselben Wert wie %y, nur dass, wenn die ISO-Wochennummer zum vorhergehenden oder nächsten Jahr gehört, dieses Jahr stattdessen benutzt wird. (TZ)
  • %h Äquivalent zu %b. (SU)
  • %H Die Stunde im 24h-Format als Ganzzahl (00 - 23).
  • %I Die Stunde im 12h-Format als Ganzzahl (01 - 12).
  • %j Der Tag im Jahr als Ganzzahl (001 - 366).
  • %k Die Stunde im 24h-Format als Ganzzahl (0 - 23); einzelne Ziffern haben ein vorangestelltes Leerzeichen. (Siehe %H.) (TZ)
  • %l Die Stunde im 12h-Format als Ganzzahl (0 - 12); einzelne Ziffern haben ein vorangestelltes Leerzeichen. (Siehe %I.) (TZ)
  • %m Der Monat als Ganzzahl (01 - 12).
  • %M Die Minute als Ganzzahl (00 - 59).
  • %n Ein Zeilenvorschub. (SU)
  • %O Modifikator: Alternatives Format benutzen, s.u. (SU)
  • %p Entweder »AM« oder »PM«, je nach der übergebenen Uhrzeit, oder die zugehörigen Zeichenketten in der momentanen Locale. Mittag erhält »PM«, Mitternacht »AM«.
  • %P Wie %p, aber in Kleinbuchstaben. (GNU)
  • %r Zeit in AM/PM-Notation; in der POSIX-Locale ist das äquivalent zu »%I:%M:%S %p«. (SU)
  • %R Zeit in 24h-Notation (%H:%M). (SU) Für eine Version mit Sekunden siehe %T.
  • %s Die Zahl der Sekunden seit der Epoche, also seit 1970-01-01 00:00:00 UTC. (TZ)
  • %S Die Sekunde als Ganzzahl (00 - 61).
  • %t Ein Tabulatorzeichen. (SU)
  • %T Zeit in 24h-Notation (%H:%M:%S). (SU)
  • %u Der Tag der Woche als Zahl von 1 bis 7, mit Montag als 1. Siehe auch %w. (SU)
  • %U Die Wochennummer des aktuellen Jahres als Ganzzahl von 00 bis 53, beginnend mit dem ersten Sonntag als erster Tag der ersten Woche. Siehe auch %V und %W.
  • %V Die Wochennummer nach ISO 8601:1988 als Dezimalzahl von 01 bis 53, wobei Woche 1 die erste Woche ist, die wenigstens 4 Tage im laufenden Jahr hat, mit Montag als dem ersten Tag der Woche. Siehe auch %U und %W. (SU)
  • %w Der Tag der Woche als Zahl von 0 bis 6, mit Sonntag als 0. Siehe auch %u.
  • %W Die Wochennummer des aktuellen Jahres als Ganzzahl von 00 bis 53, beginnend mit dem ersten Montag als erster Tag der ersten Woche.
  • %x Die bevorzugte Datums-Repräsentation ohne die Zeit in der momentanen Locale.
  • %X Die bevorzugte Uhrzeit-Repräsentation ohne das Datum in der momentanen Locale.
  • %y Das Jahr als Ganzzahl ohne das Jahrhundert (00 - 99).
  • %Y Das Jahr als Ganzzahl mit dem Jahrhundert.
  • %z Die Zeitzone als Stundendifferenz zu GMT. Benötigt, um RFC822-konforme Datumsangaben zu erhalten (mit »%a, %d %b %Y %H:%M:%S %z«). (GNU)
  • %Z Die Zeitzone oder der Name oder die Abkürzung.
  • %+ Datum und Zeit im Format von date(1). (TZ)
  • %% Das Zeichen »%«.

Einige Konvertierungsanweisungen können durch vorangestelltes E oder O modifiziert werden, um anzufordern, dass ein alternatives Format benutzt werden soll. Existiert das alternative Format in der momentanen Locale nicht, ist das Verhalten so, als ob es keine Modifikation gibt. (SU)

Die Single Unix Specification erwähnt %Ec, %EC, %Ex, %EX, %Ry, %EY, %Od, %Oe, %OH, %OI, %Om, %OM, %OS, %Ou, %OU, %OV, %Ow, %OW, %Oy, wobei der Effekt von O ist, alternative numerische Symbole zu benutzen (etwa römische Zahlen), und der von E, eine Locale-abhängige alternative Repräsentation zu wählen.

int ppl7::DateTime::week ( ) const
Beschreibung:
Diese Funktion berechnet anhand des Datums die Wochennummer innerhalb des Jahres und gibt diese als Integer zurück. Die Zählweise entspricht der in den USA, Australien und vielen weiteren Ländern, in der sich die Tradition des Judentums, Christentums und Islams erhalten hat. Dabei gilt folgende Regel:
  • Jeden Sonntag beginnt eine neue Kalenderwoche
  • Am 1. Januar beginnt stets – unabhängig vom Wochentag – die 1. Kalenderwoche
Rückgabe
Integer-Wert mit dem Jahr
int ppl7::DateTime::weekISO8601 ( ) const
Beschreibung:
Diese Funktion berechnet anhand des Datums die Wochennummer innerhalb des Jahres und gibt diese als Integer zurück. Die Zählweise richtet sich dabei nach ISO 8601:
  • Jeden Montag und nur montags beginnt eine neue Kalenderwoche.
  • Die erste Kalenderwoche ist diejenige, die mindestens vier Tage des neuen Jahres enthält.
Diese Zählweise ist die in Europa gebräuchliche.
Siehe auch
CDateTime::week
Rückgabe
Integer-Wert mit dem Jahr
int ppl7::DateTime::year ( ) const
Beschreibung:
Diese Funktion gibt die Jahreszahl als Integer zurück.
Rückgabe
Integer-Wert mit dem Jahr

Dokumentation der Datenelemente

ppl7::DateTime::dd
private
ppl7::DateTime::hh
private
ppl7::DateTime::ii
private
ppl7::DateTime::mm
private
ppl7::DateTime::ss
private
ppluint32 ppl7::DateTime::us
private
ppl7::DateTime::yy
private

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: