Delphi-Programmierung: Datums- / Zeitroutinen

click fraud protection

Vergleicht zwei TDateTime-Werte (gibt "kleiner", "gleich" oder "größer" zurück). Ignoriert den Zeitteil, wenn beide Werte am selben Tag "fallen".

CompareDateTime-Funktion

Vergleicht zwei TDateTime-Werte (gibt "kleiner", "gleich" oder "größer" zurück).

Erklärung:
Typ TValueRelationship = -1..1
Funktion CompareDateTime (const ADate, BDate: TDateTime): TValueRelationship

Beschreibung:
Vergleicht zwei TDateTime-Werte (gibt "kleiner", "gleich" oder "größer" zurück).

TValueRelationship repräsentiert die Beziehung zwischen zwei Werten. Jeder der drei TValueRelationship-Werte hat eine "gemochte" symbolische Konstante:
-1 [LessThanValue] Der erste Wert ist kleiner als der zweite Wert.
0 [EqualsValue] Die beiden Werte sind gleich.
1 [GreaterThanValue] Der erste Wert ist größer als der zweite Wert.
CompareDate führt zu:

LessThanValue, wenn ADate früher als BDate ist.
EqualsValue, wenn Datum und Uhrzeit von ADate und BDate identisch sind
Größerer Wert als ADate, wenn ADate später als BDate ist.

Beispiel:

var ThisMoment, FutureMoment: TDateTime; ThisMoment: = Now; FutureMoment: = IncDay (ThisMoment, 6); // fügt 6 Tage hinzu. // CompareDateTime (ThisMoment, FutureMoment) gibt LessThanValue (-1) zurück // CompareDateTime (FutureMoment, ThisMoment) gibt GreaterThanValue (1) zurück
instagram viewer

CompareTime-Funktion

Vergleicht zwei TDateTime-Werte (gibt "kleiner", "gleich" oder "größer" zurück). Ignoriert den Datumsteil, wenn beide Werte gleichzeitig auftreten.

Erklärung:
Typ TValueRelationship = -1..1
Funktion CompareDate (const ADate, BDate: TDateTime): TValueRelationship

Beschreibung:
Vergleicht zwei TDateTime-Werte (gibt "kleiner", "gleich" oder "größer" zurück). Ignoriert den Zeitteil, wenn beide Werte gleichzeitig auftreten.

TValueRelationship repräsentiert die Beziehung zwischen zwei Werten. Jeder der drei TValueRelationship-Werte hat eine "gemochte" symbolische Konstante:
-1 [LessThanValue] Der erste Wert ist kleiner als der zweite Wert.
0 [EqualsValue] Die beiden Werte sind gleich.
1 [GreaterThanValue] Der erste Wert ist größer als der zweite Wert.
CompareDate führt zu:

LessThanValue, wenn ADate früher an dem von BDate angegebenen Tag auftritt.
EqualsValue, wenn die Zeitteile von ADate und BDate identisch sind, wobei der Datumsteil ignoriert wird.
GreaterThanValue, wenn ADate später an dem von BDate angegebenen Tag auftritt.

Beispiel:

var ThisMoment, AnotherMoment: TDateTime; ThisMoment: = Now; AnotherMoment: = IncHour (ThisMoment, 6); // fügt 6 Stunden hinzu. // CompareDate (ThisMoment, AnotherMoment) gibt LessThanValue (-1) zurück. // CompareDate (AnotherMoment, ThisMoment) gibt GreaterThanValue (1) zurück

Datumsfunktion

Gibt das aktuelle Systemdatum zurück.

Erklärung:
Art TDateTime = Art Doppelt;

Funktion Datum: TDateTime;

Beschreibung:
Gibt das aktuelle Systemdatum zurück.

Der integrale Bestandteil eines TDateTime-Werts ist die Anzahl der Tage, die seit dem 30.12.1899 vergangen sind. Der Bruchteil eines TDateTime-Werts ist der Bruchteil eines verstrichenen 24-Stunden-Tages.

Um die gebrochene Anzahl von Tagen zwischen zwei Daten zu ermitteln, subtrahieren Sie einfach die beiden Werte. Um einen Datums- und Zeitwert um einen bestimmten Bruchteil von Tagen zu erhöhen, fügen Sie einfach den Bruchteil zum Datums- und Zeitwert hinzu.

Beispiel: ShowMessage ('Heute ist' + DateToStr (Datum));

DateTimeToStr-Funktion

Konvertiert einen TDateTime-Wert in eine Zeichenfolge (Datum und Uhrzeit).

Erklärung:
Art
TDateTime = Art Doppelt;

Funktion DayOfWeek (Datum: TDateTime): Ganzzahl;

Beschreibung:
Gibt den Wochentag für ein bestimmtes Datum zurück.

DayOfWeek gibt eine Ganzzahl zwischen 1 und 7 zurück, wobei Sonntag der erste Tag der Woche und Samstag der siebte ist.
DayOfTheWeek entspricht nicht der Norm ISO 8601.

Beispiel:

const Days: Array [1..7] von string = ('Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag') ShowMessage ('Heute ist' + Tage [DayOfWeek (Datum)]); //Heute ist Montag

DaysBetween-Funktion

Gibt die Anzahl der ganzen Tage zwischen zwei angegebenen Daten an.

Erklärung:
Funktion
DaysBetween (const ANow, AThen: TDateTime): Integer;

Beschreibung:
Gibt die Anzahl der ganzen Tage zwischen zwei angegebenen Daten an.

Funktion zählt nur ganze Tage. Dies bedeutet, dass 0 als Ergebnis für die Differenz zwischen dem 01.05.2003 23:59:59 und dem 01.05.2003 23:59:58 zurückgegeben wird - wobei die tatsächliche Differenz einen * ganzen * Tag minus 1 Sekunde beträgt .

Beispiel:

var dtNow, dtBirth: TDateTime; DaysFromBirth: Ganzzahl; dtNow: = Now; dtBirth: = EncodeDate (1973, 1, 29); DaysFromBirth: = DaysBetween (dtNow, dtBirth); ShowMessage ('Zarko Gajic "existiert"' + IntToStr (DaysFromBirth) + 'ganze Tage!');

DateOf-Funktion

Gibt nur den Datumsteil des TDateTime-Werts zurück, indem der Zeitteil auf 0 gesetzt wird.

Erklärung:
Funktion
DateOf (Datum: TDateTime): TDateTime

Beschreibung:
Gibt nur den Datumsteil des TDateTime-Werts zurück, indem der Zeitteil auf 0 gesetzt wird.

DateOf setzt den Zeitanteil auf 0, was Mitternacht bedeutet.

Beispiel:

var ThisMoment, ThisDay: TDateTime; ThisMoment: = Now; // -> 06/27/2003 10:29:16:138. ThisDay: = DateOf (ThisMoment); // Heute: = 27.06.2003 00: 00: 00: 000

DecodeDate-Funktion

Trennt die Werte für Jahr, Monat und Tag von einem TDateTime-Wert.

Erklärung:
Verfahren
DecodeDate (Datum: TDateTime; var Jahr, Monat, Tag: Wort) ;;

Beschreibung:
Trennt die Werte für Jahr, Monat und Tag von einem TDateTime-Wert.

Wenn der angegebene TDateTime-Wert kleiner oder gleich Null ist, werden die Rückgabeparameter für Jahr, Monat und Tag auf Null gesetzt.

Beispiel:

var Y, M, D: Wort; DecodeDate (Datum, Y, M, D); wenn Y = 2000 dann. ShowMessage ('Du bist in einem "falschen" Jahrhundert!);

EncodeDate-Funktion
Erstellt einen TDateTime-Wert aus den Werten für Jahr, Monat und Tag.

Erklärung:
Funktion
EncodeDate (Jahr, Monat, Tag: Wort): TDateTime

Beschreibung:
Erstellt einen TDateTime-Wert aus den Werten für Jahr, Monat und Tag.

Das Jahr muss zwischen 1 und 9999 liegen. Gültige Monatswerte sind 1 bis 12. Gültige Tageswerte sind je nach Monatswert 1 bis 28, 29, 30 oder 31.
Wenn die Funktion fehlschlägt, löst EncodeDate eine EConvertError-Ausnahme aus.

Beispiel:

var Y, M, D: Wort; dt: TDateTime; y: = 2001; M: = 2; D: = 18; dt: = EncodeDate (Y, M, D); ShowMessage ('Borna wird sein. ein Jahr alt auf '+ DateToStr (dt))

FormatDateTime-Funktion
Formatiert einen TDateTime-Wert in eine Zeichenfolge.

Erklärung:
Funktion
FormatDateTime (const Fmt: string; Wert: TDateTime): Zeichenfolge;

Beschreibung:
Formatiert einen TDateTime-Wert in eine Zeichenfolge.

FormatDateTime verwendet das durch den Parameter Fmt angegebene Format. Die unterstützten Formatspezifizierer finden Sie in den Delphi-Hilfedateien.

Beispiel:

var s: string; d: TDateTime;... d: = Jetzt; // heute + aktuelle Zeit. s: = FormatDateTime ('dddd', d); // s: = Mittwoch. s: = FormatDateTime ('"Heute ist" dddd "Minute" nn', d) // s: = Heute ist Mittwoch, 24. Minute

IncDay-Funktion

Addiert oder subtrahiert eine bestimmte Anzahl von Tagen von einem Datumswert.

Erklärung:
Funktion
IncDay (ADate: TDateTime; Tage: Ganzzahl = 1): TDateTime;

Beschreibung:
Addiert oder subtrahiert eine bestimmte Anzahl von Tagen von einem Datumswert.

Wenn der Parameter Days negativ ist, lautet das zurückgegebene Datum

Beispiel:

var Datum: TDateTime; EncodeDate (Datum, 2003, 1, 29) // 29. Januar 2003. IncDay (Datum, -1) // 28. Januar 2003

Jetzt funktionieren

Gibt das aktuelle Systemdatum und die aktuelle Systemzeit zurück.

Erklärung:
Art
TDateTime = Art Doppelt;

Funktion Jetzt: TDateTime;

Beschreibung:
Gibt das aktuelle Systemdatum und die aktuelle Systemzeit zurück.

Der integrale Bestandteil eines TDateTime-Werts ist die Anzahl der Tage, die seit dem 30.12.1899 vergangen sind. Der Bruchteil eines TDateTime-Werts ist der Bruchteil eines verstrichenen 24-Stunden-Tages.

Um die gebrochene Anzahl von Tagen zwischen zwei Daten zu ermitteln, subtrahieren Sie einfach die beiden Werte. Um einen Datums- und Zeitwert um einen bestimmten Bruchteil von Tagen zu erhöhen, fügen Sie einfach den Bruchteil zum Datums- und Zeitwert hinzu.

Beispiel: ShowMessage ('Jetzt ist' + DateTimeToStr (Jetzt));

Jahre Zwischen Funktion

Gibt die Anzahl der ganzen Jahre zwischen zwei angegebenen Daten an.

Erklärung:
Funktion
Jahre zwischen (const SomeDate, AnotherDate: TDateTime): Integer;

Beschreibung:
Gibt die Anzahl der ganzen Jahre zwischen zwei angegebenen Daten an.

YearsBetween gibt eine Annäherung zurück, die auf einer Annahme von 365,25 Tagen pro Jahr basiert.

Beispiel:

var dtSome, dtAnother: TDateTime; DaysFromBirth: Ganzzahl; dtSome: = EncodeDate (2003, 1, 1); dtAnother: = EncodeDate (2003, 12, 31); YearsBetween (dtSome, dtAnother) == 1 // Nicht-Schaltjahr. dtSome: = EncodeDate (2000, 1, 1); dtAnother: = EncodeDate (2000, 12, 31); YearsBetween (dtSome, dtAnother) == 0 // Schaltjahr
instagram story viewer