System.TDateTime

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

TDateTime = type Double;

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. 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; 12:00
2.75 1. Januar 1900; 18:00
-1.25 29. Dezember 1899; 06:00
35065 1. Januar 1996; 12: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.

Die Unit DateUtils hat mehrere APIs (wie DaysBetween, HoursBetween, WeeksBetween usw.), die besser für die Berechnung der Zeit zwischen zwei TDateTime-Werten geeignet sind, und diese APIs funktionieren unabhängig davon, ob das zugrunde liegende Double positiv oder negativ ist.

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. Datumsangaben, die größer als –1.0 bis 0.0 sind, und Datumsangaben, die kleiner als 1.0 bis 0.0 sind, spiegeln sich gegenseitig. Das liegt daran, dass +ve Null und –ve Null gleich sind.

Warnung: TDateTime kann nicht als Basisklasse für andere Klassen verwendet werden. Sie müssen eine Wrapper-Klasse schreiben, wenn Sie die Funktionalität von TDateTime erweitern möchten.

Die folgenden Stream-Operatoren sind definiert:

ostream& operator << (ostream& os, const TDateTime& arg);
istream& operator >> (istream& is, TDateTime& arg);

Siehe auch