Die folgenden Funktionen habe ich erst sehr spät entdeckt. Leider werden sie auch mit keinem Wort in der Klasse TDateTime erwähnt, noch sind sie Bestandteile der Klasse. Letzteres empfinde ich als ausgesprochen ärgerlich. Schließlich will man ja mal mit einem Datum rechnen. Zwar hat die Klasse diverse Operatoren überlagert, aber das ist meist nicht das was mal gerade braucht.
Zu beachten ist, dass für alle Funktionen die
#include <DateUtils.hpp>
includiert wird.
Hier nun die Funktionen, die einen doch ein bisschen Arbeit abnehmen:
Diese Funktionen arbeiten alle gleich. Sie erwarten als Übergabeparameter ein TDateTime Objekt und einen Wert. Ist der Wert negativ wird zurückgerechnnet. Beispiel:
String ausgabe; TDateTime dt=Now(); ausgabe=dt.DateTimeString(); //heutiges Datum dt=IncYear(dt,-20); ausgabe=dt.DateTimeString(); //vor 20 Jahren
Weiterhin gibt es Funktionen, die ein bestehendes Datum abändern. Dies sind:
Diese Funktionen arbeiten alle gleich. Sie erwarten als Übergabeparameter ein TDateTime Objekt und einen Wert. Der Wert wird als neuer Bestandteil des TDateTime Objektes eingefügt. Beispiel:
String ausgabe; TDateTime dt=Now(); ausgabe=dt.DateTimeString(); //heutiges Datum dt=RecodeYear(dt,1890); ausgabe=dt.DateTimeString(); //Jahr wird auf 1890 gesetzt.
Zusätzlich gibt es noch
mit denen ganze Daten und Zeitwerte auf einmal geändert werden können.
Weitere Funktionen (der Name dürfte sprechend sein):
| CompareDate |
| CompareDateTime |
| CompareTime |
| DateOf |
| DateTimeToJulianDate |
| DateTimeToModifiedJulianDate |
| DateTimeToUnix |
| DayOf |
| DayOfTheMonth |
| DayOfTheWeek |
| DayOfTheYear |
| DaysBetween |
| DaysInAMonth |
| DaysInAYear |
| DaysInMonth |
| DaysInYear |
| DaySpan |
| DecodeDateDay |
| DecodeDateMonthWeek |
| DecodeDateTime |
| DecodeDateWeek |
| DecodeDayOfWeekInMonth |
| EncodeDateDay |
| EncodeDateMonthWeek |
| EncodeDateTime |
| EncodeDateWeek |
| EncodeDayOfWeekInMonth |
| EndOfADay |
| EndOfAMonth |
| EndOfAWeek |
| EndOfAYear |
| EndOfTheDay |
| EndOfTheMonth |
| EndOfTheWeek |
| EndOfTheYear |
| HourOf |
| HourOfTheDay |
| HourOfTheMonth |
| HourOfTheWeek |
| HourOfTheYear |
| HoursBetween |
| HourSpan |
| IncDay |
| IncHour |
| IncMilliSecond |
| IncMinute |
| IncSecond |
| IncWeek |
| IncYear |
| IsInLeapYear |
| IsPM |
| IsSameDay |
| IsToday |
| IsValidDate |
| IsValidDateDay |
| IsValidDateMonthWeek |
| IsValidDateTime |
| IsValidDateWeek |
| IsValidTime |
| JulianDateToDateTime |
| MilliSecondOf |
| MilliSecondOfTheDay |
| MilliSecondOfTheHour |
| MilliSecondOfTheMinute |
| MilliSecondOfTheMonth |
| MilliSecondOfTheSecond |
| MilliSecondOfTheWeek |
| MilliSecondOfTheYear |
| MilliSecondsBetween |
| MilliSecondSpan |
| MinuteOf |
| MinuteOfTheDay |
| MinuteOfTheHour |
| MinuteOfTheMonth |
| MinuteOfTheWeek |
| MinuteOfTheYear |
| MinutesBetween |
| MinuteSpan |
| ModifiedJulianDateToDateTime |
| MonthOf |
| MonthOfTheYear |
| MonthsBetween |
| MonthSpan |
| NthDayOfWeek |
| RecodeDate |
| RecodeDateTime |
| RecodeDay |
| RecodeHour |
| RecodeMilliSecond |
| RecodeMinute |
| RecodeMonth |
| RecodeSecond |
| RecodeTime |
| RecodeYear |
| SameDate |
| SameDateTime |
| SameTime |
| SecondOf |
| SecondOfTheDay |
| SecondOfTheHour |
| SecondOfTheMinute |
| SecondOfTheMonth |
| SecondOfTheWeek |
| SecondOfTheYear |
| SecondsBetween |
| SecondSpan |
| StartOfADay |
| StartOfAMonth |
| StartOfAWeek |
| StartOfAYear |
| StartOfTheDay |
| StartOfTheMonth |
| StartOfTheWeek |
| StartOfTheYear |
| TimeOf |
| Today |
| Tomorrow |
| TryEncodeDateDay |
| TryEncodeDateMonthWeek |
| TryEncodeDateTime |
| TryEncodeDateWeek |
| TryEncodeDayOfWeekInMonth |
| TryJulianDateToDateTime |
| TryModifiedJulianDateToDateTime |
| TryRecodeDateTime |
| UnixToDateTime |
| WeekOf |
| WeekOfTheMonth |
| WeekOfTheYear |
| WeeksBetween |
| WeeksInAYear |
| WeeksInYear |
| WeekSpan |
| WithinPastDays |
| WithinPastHours |
| WithinPastMilliSeconds |
| WithinPastMinutes |
| WithinPastMonths |
| WithinPastSeconds |
| WithinPastWeeks |
| WithinPastYears |
| YearOf |
| YearsBetween |
| YearSpan |
| Yesterday |
Die Funktionen werden alle in der Hilfe erläutert.