System.TDateTime
Delphi
type TDateTime = { built-in type };
C++
class RTL_DELPHIRETURN TDateTime : public TDateTimeBase
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
type class |
public | System.pas systdate.h |
System | System |
Beschreibung
TDateTime ist die C++-Darstellung des Delphi-Datentyps TDateTime.
TDateTime implementiert den Delphi-Datentyp TDateTime und die Datums-/Uhrzeitfunktionen der Laufzeitbibliothek, die den Datentyp TDateTime verwenden.
Die Klasse TDateTime erbt das Datenelement val, das als double deklariert ist und den Datums-/Uhrzeitwert enthält. Der ganzzahlige Anteil eines TDateTime-Werts ist die Anzahl der Tage, die seit dem 30.12.1899 vergangen sind. Der Dezimalanteil gibt die Uhrzeit an. Das höchste von TDateTime -Werten unterstützte korrekte Datum ist 31.12.9999 23:59:59:999. Alle höheren Datumswerte verursachen in den meisten Routinen, die mit TDateTime-Werten arbeiten, Fehler und Exceptions.
TDateTime unterstützt auch negative Werte. Das negative Spektrum spiegelt das positive genau wider. Daher ist ein Wert von Now (positiv) exakt identisch mit dem negativen Wert--Now. Verwenden Sie negative TDateTime-Werte mit Bedacht. Die inkorrekte Verwendung von negativen Werten kann zu vielerlei Problemen führen.
Die folgende Tabelle enthält Beispiele für TDateTime-Werte und die entsprechenden Datums- und Zeitangaben:
Wert | Beschreibung |
0 | 30. Dezember 1899; 00:00 |
2.75 | 1. Januar 1900; 18:00 |
-1.25 | 29. Dezember 1899; 06:00 |
35065 | 1. Januar 1996; 00:00 |
Wenn beide TDateTime-Werte positiv sind, brauchen Sie zur Ermittlung der Tage zwischen zwei Datumsangaben die beiden Werte nur voneinander zu subtrahieren. Um eine Datums-/Zeitangabe um eine bestimmte Anzahl von Tagen zu erhöhen, addieren Sie einfach die Anzahl zu dem TDateTime-Wert hinzu.
Wenn Sie mit negativen TDateTime-Werten arbeiten, muss der Zeitanteil separat berechnet werden. Der Zeitanteil gibt den Bruchteil eines 24-Stundentages ohne Berücksichtigung des Vorzeichens des TDateTime-Wertes wieder. Beispiel: 06:00 Uhr am 29. Dezember 1899 ist –1,25, nicht –1 + 0,25, was –0,75 ergäbe. Von –1 bis 0 gibt es keine TDateTime-Werte.
<<
and >>
) mit Currency müssen Sie die iostream
-Bibliothek vor systdate
einbeziehen.
Die folgenden Stream-Operatoren sind definiert:
ostream& operator << (ostream& os, const TDateTime& arg);
istream& operator >> (istream& is, TDateTime& arg);