PPL6-Icon Patrick's Programming Library Version 6.4.21 - Dokumentation
ppl6::CDateTime 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 CDateTime &other) const
 Differenz in Sekunden. Mehr ...
 
int compareSeconds (const CDateTime &other, int tolerance=0) const
 Differenz in Sekunden mit Toleranz vergleichen. Mehr ...
 
static bool isLeapYear (int year)
 Jahreszahl auf Schaltjahr prüfen. Mehr ...
 
static CDateTime currentTime ()
 Aktuelles Datum zurückgeben. Mehr ...
 

Öffentliche Typen

enum  PPLDataType {
  UNKNOWN =0, CINT =2, CSTRING =4, CASSOCARRAY =5,
  CBINARY =6, CWSTRING =8, CARRAY =9, CBOOL =10,
  CDATETIME =11
}
 Enumeration der verschiedenen Datenobjekte, die in der Library verwendet werden. Mehr ...
 

Öffentliche Methoden

int DataType () const
 Liefert den Datentyp des Objekts zurück. Mehr ...
 
int IsType (int type) const
 
Konstruktoren

Folgende Konstruktoren stehen zur Verfügung:

 CDateTime ()
 Konstruktor mit Initialisierung auf 0. Mehr ...
 
 CDateTime (const CString &datetime)
 Konstruktor mit Datumsinitialisierung aus einem String. Mehr ...
 
 CDateTime (const CDateTime &other)
 Copy-Konstruktor. Mehr ...
 
 CDateTime (ppluint64 t)
 Konstruktor mit Angabe von Unix-Timestamp. Mehr ...
 
Datum setzen
void setTime_t (ppluint64 t)
 Datum aus Unix-Timestamp übernehmen. Mehr ...
 
int set (const CString &datetime)
 Datum anhand eines Strings setzen. Mehr ...
 
void set (const CDateTime &other)
 Datum aus einer anderen CDateTime-Variablen übernehmen. Mehr ...
 
int set (const CString &date, const CString &time)
 Datum und Uhrzeit aus unterschiedlichen Strings importieren. Mehr ...
 
int setDate (const CString &date)
 Datum setzen, Uhrzeit bleibt unverändert. Mehr ...
 
int setTime (const CString &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
void setLongInt (ppluint64 i)
 Datum aus einem 64-Bit-Integer übernehmen. Mehr ...
 
CString get (const CString &format="%Y-%m-%d %H:%M:%S") const
 Datum als String im angegebenen Format zurückgeben. Mehr ...
 
CString getDate (const CString &format="%Y-%m-%d") const
 Datum als String zurückgeben. Mehr ...
 
CString getTime (const CString &format="%H:%M:%S") const
 Uhrzeit als String zurückgeben. Mehr ...
 
CString getISO8601 () const
 Datum als String im ISO8601-Format zurückgeben. Mehr ...
 
CString getISO8601withMsec () const
 Datum als String im ISO8601-Format mit Millisekunden zurückgeben. Mehr ...
 
CString getISO8601withUsec () const
 Datum als String im ISO8601-Format mit Mikrosekunden zurückgeben. Mehr ...
 
ppluint64 time_t () 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
CDateTimeoperator= (const CString &datetime)
 Datum aus einem String übernehmen. Mehr ...
 
CDateTimeoperator= (const CDateTime &other)
 Datum aus einem anderen CDateTime-Wert übernehmen. Mehr ...
 
 operator CString () const
 Operator, der einen CString zurückliefert. Mehr ...
 
bool operator< (const CDateTime &other) const
 Vergleichsoperator "kleiner": <. Mehr ...
 
bool operator<= (const CDateTime &other) const
 Vergleichsoperator "kleiner oder gleich": <=. Mehr ...
 
bool operator== (const CDateTime &other) const
 Vergleichsoperator "gleich": ==. Mehr ...
 
bool operator!= (const CDateTime &other) const
 Vergleichsoperator "ungleich": !=. Mehr ...
 
bool operator>= (const CDateTime &other) const
 Vergleichsoperator "größer oder gleich": >=. Mehr ...
 
bool operator> (const CDateTime &other) const
 Vergleichsoperator "größer": > Mehr ...
 

Geschützte Attribute

ppluint8 type
 

Private Attribute

ppluint8 dd
 Tag. Mehr ...
 
ppluint8 hh
 Stunden. Mehr ...
 
ppluint8 ii
 Minuten. Mehr ...
 
ppluint8 mm
 Monat. Mehr ...
 
ppluint8 ss
 Sekunden. Mehr ...
 
ppluint32 us
 Mikrosekunden. Mehr ...
 
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.

Dokumentation der Aufzählungstypen

enum ppl6::CVar::PPLDataType
inherited

Enumeration der verschiedenen Datenobjekte, die in der Library verwendet werden

Seit
Wurde mit Version 6.3.0 eingeführt.
Aufzählungswerte
UNKNOWN 

Unbekannter Datentyp.

CINT 

Klasse vom Typ CInt.

CSTRING 

Klasse vom Typ CString.

CASSOCARRAY 

Klasse vom Typ CAssocArray.

CBINARY 

Klasse vom Typ CBinary.

CWSTRING 

Klasse vom Typ CWString.

CARRAY 

Klasse vom Typ CArray.

CBOOL 

Klasse vom Typ CBool.

CDATETIME 

Klasse vom Typ CDateTime.

Beschreibung der Konstruktoren und Destruktoren

ppl6::CDateTime::CDateTime ( )
Beschreibung:
Mit diesem Konstruktor ohne Parameter wird der Wert der Datumsklasse auf 0 gesetzt. Die Funktion CDateTime::isEmpty "isEmpty" würde true zurückliefern.
ppl6::CDateTime::CDateTime ( const CString datetime)
Beschreibung:
Über diesen Konstruktor wird ein CDateTime 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.
ppl6::CDateTime::CDateTime ( const CDateTime other)
Beschreibung:
Über diesen Konstruktor wird das Datum eines anderen CDateTime-Wertes übernommen.
Parameter
[in]otherReferenz auf den zu kopierenden CDateTime-Wert
ppl6::CDateTime::CDateTime ( 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 ppl6::CDateTime::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 ppl6::CDateTime::compareSeconds ( const CDateTime other,
int  tolerance = 0 
) const
Beschreibung:
Mit dieser Funktion wird die Differenz des Zeitwerts dieses CDateTime mit der angegebenen CDateTime 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.
CDateTime ppl6::CDateTime::currentTime ( )
static
Beschreibung:
Diese statische Funktion liefert das aktuelle Datum und die aktuelle Uhrzeit in Form einer CDateTime-Variablen zurück.
Rückgabe
CDateTime-Variable mit dem aktuellen Datum und Uhrzeit.
int CVar::DataType ( ) const
inherited

Diese Funktion liefert den Datentyp des Objekts zurück.

Rückgabe
ID aus der Enumeration CVar::PPLDataType
Seit
Wurde mit Version 6.3.0 eingeführt.
int ppl6::CDateTime::day ( ) const
Beschreibung:
Diese Funktion gibt den Tag als Integer zurück.
Rückgabe
Integer-Wert mit dem Tag
pplint64 ppl6::CDateTime::diffSeconds ( const CDateTime other) const
Beschreibung:
Diese Funktion gibt die Differenz dieses CDateTime zu dem angegebenen CDateTime 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
ppl6::CString ppl6::CDateTime::get ( const CString 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.

ppl6::CString ppl6::CDateTime::getDate ( const CString format = "%Y-%m-%d") const
Beschreibung:
Diese Funktion ist identisch zu CDateTime::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 CDateTime::get
ppl6::CString ppl6::CDateTime::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
ppl6::CString ppl6::CDateTime::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
ppl6::CString ppl6::CDateTime::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
ppl6::CString ppl6::CDateTime::getTime ( const CString format = "%H:%M:%S") const
Beschreibung:
Diese Funktion ist identisch zu CDateTime::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 CDateTime::get
int ppl6::CDateTime::hour ( ) const
Beschreibung:
Diese Funktion gibt die Stunde als Integer zurück.
Rückgabe
Integer-Wert mit der Stunde
bool ppl6::CDateTime::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 CDateTime::notEmpty.
Rückgabe
true oder false
bool ppl6::CDateTime::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 ppl6::CDateTime::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.
int CVar::IsType ( int  type) const
inherited
ppluint64 ppl6::CDateTime::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 ppl6::CDateTime::microsecond ( ) const
Beschreibung:
Diese Funktion gibt die Mikrosekunden als Integer zurück.
Rückgabe
Integer-Wert mit den Mikrosekunden
int ppl6::CDateTime::millisecond ( ) const
Beschreibung:
Diese Funktion gibt die Millisekunden als Integer zurück.
Rückgabe
Integer-Wert mit den Millisekunden
int ppl6::CDateTime::minute ( ) const
Beschreibung:
Diese Funktion gibt die Minute als Integer zurück.
Rückgabe
Integer-Wert mit der Minute
int ppl6::CDateTime::month ( ) const
Beschreibung:
Diese Funktion gibt den Monat als Integer zurück.
Rückgabe
Integer-Wert mit dem Monat
bool ppl6::CDateTime::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 CDateTime::isEmpty.
Rückgabe
true oder false
ppl6::CDateTime::operator CString ( ) 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 ppl6::CDateTime::operator!= ( const CDateTime 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 ppl6::CDateTime::operator< ( const CDateTime 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 ppl6::CDateTime::operator<= ( const CDateTime 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.
CDateTime & ppl6::CDateTime::operator= ( const CString 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 CDateTime-Wert zurück
Ausnahmebehandlung
Enthältder String datetime ein ungültiges oder unbekanntes Datumsformat, wird eine "InvalidFormat" Exception geworfen. 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.
CDateTime & ppl6::CDateTime::operator= ( const CDateTime other)
Beschreibung:
Mit diesem Operator wird der Wert eines anderen CDateTime-Wertes übernommen.
Parameter
[in]otherReferenz auf den zu kopierenden CDateTime-Wert
Rückgabe
Gibt eine Referenz auf den CDateTime-Wert zurück
bool ppl6::CDateTime::operator== ( const CDateTime 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 ppl6::CDateTime::operator> ( const CDateTime 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 ppl6::CDateTime::operator>= ( const CDateTime 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 ppl6::CDateTime::print ( ) const
Beschreibung:
Mit dieser Funktion wird Datum und Uhrzeit auf der Konsole (STDOUT) ausgegeben. Sie ist nur zu Debug-Zwecken gedacht.
int ppl6::CDateTime::second ( ) const
Beschreibung:
Diese Funktion gibt die Sekunde als Integer zurück.
Rückgabe
Integer-Wert mit der Sekunde
int ppl6::CDateTime::set ( const CString 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
Rückgabe
Wurde der String erfolgreich erkannt, liefert die Funktion 1 zurück, andernfalls 0. Ferner wird der Fehlercode 558 gesetzt.
void ppl6::CDateTime::set ( const CDateTime other)
Beschreibung:
Mit dieser Funktion wird der Wert einer anderen CDateTime-Variablen übernommen.
Parameter
[in]otherReferenz auf eine andere CDateTime-Variable, dessen Wert kopiert werden soll.
int ppl6::CDateTime::set ( const CString date,
const CString 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
Rückgabe
Wurden Datum und Uhrzeit erfolgreich erkannt, liefert die Funktion 1 zurück, andernfalls 0. Ferner wird der Fehlercode 558 gesetzt.
Siehe auch
Eine genauere Beschreibung der Formate samt Legende ist hier zu finden.
void ppl6::CDateTime::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 ppl6::CDateTime::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.
int ppl6::CDateTime::setDate ( const CString 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.
Rückgabe
Wurde das Datum erfolgreich erkannt, liefert die Funktion 1 zurück, andernfalls 0. Ferner wird der Fehlercode 558 gesetzt.
void ppl6::CDateTime::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
int ppl6::CDateTime::setTime ( const CString 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.
Rückgabe
Wurde die Uhrzeit erfolgreich erkannt, liefert die Funktion 1 zurück, andernfalls 0. Ferner wird der Fehlercode 558 gesetzt.
void ppl6::CDateTime::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.
ppluint64 ppl6::CDateTime::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.
int ppl6::CDateTime::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 ppl6::CDateTime::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 ppl6::CDateTime::year ( ) const
Beschreibung:
Diese Funktion gibt die Jahreszahl als Integer zurück.
Rückgabe
Integer-Wert mit dem Jahr

Dokumentation der Datenelemente

ppl6::CDateTime::dd
private
ppl6::CDateTime::hh
private
ppl6::CDateTime::ii
private
ppl6::CDateTime::mm
private
ppl6::CDateTime::ss
private
ppluint8 ppl6::CVar::type
protectedinherited
ppl6::CDateTime::us
private
ppl6::CDateTime::yy
private

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