TDateTime為實現TDateTime數據類型和使用TDateTime數據類型的日期-時間運行庫例程的C++類。
TDateTime類繼承了double型的val數據成員,其中包含了日期-時間值。TDateTime值的整數部分為自從12/30/1899以來的天數。其小數部分為天的時間。
下列為一些TDateTime值的例子以及對應的日期和時間:
值 日期和時間
0 12/30/1899 12:00 am
2.75 1/ 1/1900 6:00 pm
-1.25 12/29/1899 6:00 am
35065 1/ 1/1996 12:00 am
要計算兩個日期間的天的小數部分,把兩個值相減。要在某天的小數部分增加一個日期-時間值,可把該小數加上日期-時間值。
方法列表
CurrentDate 返回當前日期作為TDateTime值
CurrentDateTime 返回當前日期和時間作為TDateTime 值
CurrentTime 返回當前時間作為TDateTime值
DateString 把TDateTime值的日期轉換為一個字符串
DateTimeString 把TDateTime值轉換為一個字符串
DayOfWeek 返回 TDateTime的week的天
DecodeDate 把TDateTime值分為year, month,和day值並把這些值分別存儲在year, month和day參數中
DecodeTime 把TDateTime值分為hour, minute, second,和millisecond值並把這些值分別存儲在hour, min, sec和msec參數中
FileDate 把日期 - 時間值轉換為DOS日期 - 時間標記
FileDateToDateTime 把FileDate參數指定的DOS文件的日期 - 時間值轉換為TDateTime值
FormatString 利用format給定的格式格式化TDateTime對象
operator - 返回兩個TDateTime集之間的差的新的TDateTime對象
operator -- 返回一個TDateTime與Int參數之間差的新的TDateTime對象
operator != 比較兩個TDateTime對象的不相同性
operator + 返回一個為兩個TDateTime對象的聯合的一個新TDateTime 對象
operator += 把TDateTime 對象的本身數據與rhs 指定的TDateTime對象的聯合賦給TDateTime
operator -= 把TDateTime 對象本身數據的rhs指定的TDateTime對象之間的差賦給TDateTime對象
operator < 比較兩個TDateTime 對象
operator <= 比較兩個TDateTime 對象
operator = 把rhs 內容賦給TDateTime
operator == 比較兩個TDateTime 對象的相同
operator > 比較兩個TDateTime 對象
operator >= 比較兩個TDateTime 對象
operator AnsiString AnsiString 為轉換操作符
operator double double 為轉換操作符
operator int int 為轉換操作符
TDateTime TDateTime 構造函數
TimeString 把TDateTime 對象轉換為AnsiString
方法
TDateTime::CurrentDate
返回當前日期作為TDateTime值。
static TDateTime __fastcall CurrentDate( );
檢索當前日期並作為新的TDateTime 對象返回。
TDateTime::CurrentDateTime
返回當前日期和時間作為TDateTime值。
static TDateTime __fastcall CurrentDateTime( );
檢索當前日期和時間並作為新的TDateTime 對象返回。
TDateTime::CurrentTime
返回當前時間作為TDateTime 值。
static TDateTime __fastcall CurrentTime( );
檢索當前時間並作為新的TDateTime 對象返回。
TDateTime::DateString
把TDateTime 值的日期轉換為一個字符串。
AnsiString __fastcall DateString( )const;
返回TDateTime對象作為一個AnsiString 的值。轉換利用ShortDateFormat 變量指定的格式。
TDateTime::DateTimeString
把TDateTime 值轉換為一個字符串。
AnsiString __fastcall DateTimeString( )const
返回一個AnsiString 對象,其中包含TDateTime 對象的日期和時間(val 數據成員)轉換為字符串的值。如果TDateTime 值沒有包含一個date 值,date 就顯示為00/00/00。如果TDateTime 值沒有包含一個time值,time 就顯示為00:00:00 AM。可以通過改變日期和時間格式變量來改變字符串格式。
TDateTime::DayOfWeek
返回TDateTime 的week的天。
int __fastcall DayOfWeek()const;
TDateTime 的DayOfWeek 對象為 1 到 7 之間的整數。Sunday 為week 的第一天,Saturday 為第七天。
TDateTime::DecodeDate
把TDateTime 值分為year ,month和day 值並把這些值分別存儲在 year ,month 和 day 參數中。
void __fastcall DecodeDate(unsigned short* year,unsigned short* month,unsigned short* day)const;
需要訪問TDateTime對象的year, month 和day 時,利用DecodeDate。
TDateTime::DecodeTime
把TDateTime 值分為 hour ,minute,second 和 millisecond 值並把這些值分別存儲在 hour,min,sec 和 msec參數中。
void __fastcall DecodeTime(unsigned shot* hour,unsigned short*nim,unsigned short* sec,unsigned short* msec)const;
需要訪問TDateTime對象的hour,minute,second或millisecond時,利用DecodeDate。
TDateTime::FileDate
把日期—時間值轉換為DOS日期—時間標記。
int __fastcall FileDate()const;
TDateTime::FileDateToDateTime
把fileDate 參數指定的DOS文件的日期—時間值轉換為TDateTime值。
static TDateTime __fastcall FileDateToDateTime(int fileDate);
TDateTime::FormatString
利用format 給定的格式格式化TDateTime 對象。
AnsiString __fastcall FormatString(const AnsiString& format);
支持下列分類符字符串:
分類符字符串 顯示方式
c 日期使用 ShortDateFormat全局變量給的格式,時間使用 LongTimeformat 全局變量給的格式。假如分數是0,時間就不顯示。
d 以數字表示日子,第一個字符不為 0 (1—31)
dd 以數字表示日子,第一個字符為0 (01—31)
ddd 以使用ShortDateFormat全局變量給的字符串的縮寫(Sun—Sat) g表示日子
dddd 以使用Long Day Names全局變量給的字符串的全稱(Sunday—Saturday)表示日子
ddddd 使用ShortDateFormat全局變量給的格式表示日期
dddddd 使用Long DateFormat 全局變量給的格式表示日期
m 以數字表示月份,第一個字符不為0 (1—12)。若m 後面跟著h或 hh,顯示的是分鐘,而不是月份
mm 以數字表示月份,第一個字符為0(01—12)。若mm 後面跟著h或 hh,顯示的是分鐘,而不是月份。
mmm 以使用ShortMonthNames 全局變量給的字符串的縮寫( Jan — Dec)表示月份
mmmm 以使用Long Mames 全局變量給的字符串的全稱(January — Decermber)表示月份
yy 以兩位數字表示年(00—99)
yyyy 以四位數字表示年(0000—9999)
h 以數字表示小時,第一字符不為0(0—23)
hh 以數字表示小時,第一字符為0(0—23
n 以數字表示分鐘,第一個字符不為0(0—59)
nn 以數字表示分鐘,第一個字符為0(00—59)
s 以數字表示秒,第一個字符不為0(0—59)
ss 以數字表示秒,第一個字符為0(00—59)
t 時間使用由ShortTimeFormst全局變量給定的格式
Ttt 時間使用由LongTimeFormat全局變量給定的格式
am/pm 時間為前面的h或hh分類符使用12小時時鐘,後面跟"am"指的是上午的時間,後面跟"pm"指的是下午的時間。am/pm分類符可以是大寫、小寫或混合使用,都能相應的顯示
a/p 時間為前面的h或hh分類符使用12小時時鐘,後面跟"a"指的是上午的時間,後面跟"p"指的是下午的時間。a/p分類符可以是大寫、小寫或混合使用,都能相應的顯示
ampm 時間為前面的h或hh分類符使用12小時時鐘,後面跟TimeAMString 全局變量指的是上午的時間,後面跟TimePMString 全局變量指的是下午的時間
/ 由DateSeparator 全局變量給定的日期分隔符
: 由TimeSeparator 全局變量給定的時間分隔符
'xx'/"xx" 用單引號或雙引號括起的符號,表示不進行格式轉換
格式分類符應寫成大寫或小寫字母,兩個產生同樣效果。假如格式參數指的是空字符串,日期時間值被格式化成格式分類符給的是c。
TDateTime::operator -
TDateTime的operator-被重載如下:
TDateTime __fastcall operator - (const TDateTimeBase& rhs)const;
返回這個TDateTime 對象與rhs 的差。
TDateTime __fastcall operator - (const TDateTime& rhs)const;
返回兩個TDatieTime 對象的差。
TDateTime __fastcall operator - (const double rhs)const;
返回這個TDateTime 對象與double的rhs 的差。
TDateTime __fastcall operator - (const int rhs)const;
返回這個TDateTime 對象與int 的rhs 的差。
TDateTime::operator --
TDateTime的operator--被重載如下:
TDateTime& operator -- ( );
把這個TDateTime對象的日期減去一天(從val數據成員中減1)。
TDateTime operator -- (int);
把這個TDateTime 對象的日期減去int參數指定的天數。
TDateTime::operator !=
比較兩個TDateTime 對象的不相同性。
bool__fastcall operator != (const TDateTime & rhs)const;
如果兩個對象值不相同,返回true;否則就返回false。
TDateTime::operator +
TDateTime 的cperator + 被重載如下:
TDateTime __fastcall operator + (const TDAteTimeBAse& rhs) const;
返回這個TDateTime 對象和 rhs 的總和。
TDateTime __fastcall operator + (const TDateTime& rhs) const;
返回兩個TDateTime 對象的總和。
TDateTime __fastcall operator + (const double rhs) const
返回這個TDateTime 對象和 double 的總和。
TDateTime __fastcall operator + (const int rhs) const;
返回這個TSateTime 對象和 int 的 rhs 的總和。
TDateTime::operator +=
TDateTime 的 += operator 被重載如下:
TDateTime& __fastcall operator += (const TDateTimeBase& rhs);
把TDateTimeBase 對象 rhs 加到這個TDateTime 對象。
TDateTime& __fastcall operator += (const TDAteTime& rhs);
把TDateTime 對象 rhs 加到這個TDateTime 對象。
TDateTime& __fastcall operator += (const double rhs);
把double 的 rhs 加到這個TDate Time 對象。
TDateTime& __fastcall operator += (const int rhs);
把 int 的 rhs 加到這個TDateTime 對象。
TDateTime::operator -=
TDateTime 的 operator - =被重載如下。
TDateTime& __fastcall operator -= (const TDateTimeBase& rhs);
從TDateTime 對象中減去TDarteTimeBase 對象 rhs.。
TDateTime&__fastcall operator -= (const TDateTime& rhs);
從TDateTime 對象中減去TDateTime 對象ehs。
TDateTime& __fastcall operator -= (const double rhs);
從TDateTime 對象中減去 double 對象 rhs。
TDateTime& __fastcall operator -= (const int rhs);
從TDateTime 對象中減去 double 的fhs。
TDateTime::operator <
比較兩個TDateTime 對象。
bool __fastcall operator < (const TDateTime& rhs);
如果這個TDateTime 對象值(val數據成員)比rhs指定的對象值小,就返回true,否則就返回false。
TDateTime::operator <=
比較兩TDateTime 對象。
bool __fastcall operator <= (const TDateTime& rhs);
如果這個TDateTime對象值(val 數據成員)小於或等於rhs 指定的對象值,就返回true,否則就返回false。
TDateTime::operator =
TDateTime的賦值運算operator =被重載如下:
TDateTime& __fastcall operator = (const TDateTimeBase& rhs);
把這個TDateTime 對象賦給rhs 指定的基類 對象值。
TDateTime& __fastcall operator = (const TDateTime& rhs);
把這個TDateTime 對象賦給rhs 指定的TDateTime 對象。
TDateTime& __fastcall operator = (const double rhs);
把這個TDateTime 對象賦給rhs 指定的double值。
TDateTime& __fastcall operator = (const int rhs);
把這個TDateTime 對象賦給rhs 指定的int 值。
TDateTime::operator ==
比較兩個TDateTime 對象的相同性。
bool __fastcall operator == (const TDateTime& rhs)const;
如果兩對象相同,返回true,否則就返回false。
TDateTime::operator >
比較兩個TDateTime 對象。
bool __fastcall operator > (const TDateTime& rhs)const;
如果這個TDateTime 對象值(val數據成員)大於rhs 指定的對象值,就返回true,否則就返回false。
TDateTime::operator >=
比較兩個TDateTime對象。
bool __fastcall operator >= (const TDateTime& rhs)const;
如果這個TDateTime 對象值(val數據成員)大於或等於rhs指定的對象值,就返回true,否則就返回false。
TDateTime::operator AnsiString
AnsiString 為轉換操作符。
__fastcall operator AnsiString( ) const;
返回TDateTime對象的字符串轉換的一個AnsiString 對象。轉換使用LongTimeFormat 全局變量指定的格式。通過改變某date and time 變量值可改變字符串顯示的格式。
TDateTime::operator double
double為轉換操作符。
__fastcall Operator double( ) const;
返回該TDateTime 對象的double 轉換的double 值。
TDateTime::operator int
int 為轉換操作符。
__fastcall operator int( ) const;
返回該TDateTime 對象的整數轉換的int值。
TDateTime::TDateTime
TDateTime 構造函數被重載如下:
__fastcall TDateTime();
創建一個val 數據成員為0的TDateTime 對象。這個日期和時間對應於12/30/1899 12:00 am。
__fastcall TDateTime(constTDateTimeBase& src);
從基本類對象中創建一個TDateTime 對象。
__fastcall TDateTime(const TDateTime& src);
(復制構造函數)創建一個TDateTime 對象的備份。
__fastcall TDateTime(const double src);
從一個double 中創建一個TDateTime 對象。
__fastcall TDateTime(const int src);
從一個int 中創建一個TDateTime 對象。
enum TDateTimeFlag {Date,Time,DateTime};
__fastcall TDateTime(const AnsiString& src,TDateTimeFlag flag = DateTime);
從一個AnsiString 中創建一個TDateTime 對象。參數flag 指明字符串是否包含一個日期,一個時間,或兩者都有。flag的默認值為DateTime。
__fastcall TDateTime(unsigned short year,unsigned short month,unsigned short day);
以相應參數指定的年,月,和天來創建一個TDateTime 對象。
year必須為1 到9999之間。有效月值為1到12之間。有效天值為1到28,29,30,或是1,取決於月值。如,對於2月(February)可能的day值為1 到28或1到29,取決於year值是否為閏年。
如果指定值不在范圍之內,就引發EConvertError 異常。結果值為1加上12/30/1899和給定日期之間的天數。
__fastcall TDateTime(unsigned short hour,unsigned short min,unsigned short sec,unsigned short msec);
返回指定hour,minute,second和millisecond的TDateTime對象。hour必須在0到點9之間,minute必須在0到59之間,second必須在0到59之間,millisecond必須在0到999之間。如果指定值不在范圍之內,就引發EConvertError。結果值為0(包括)和1(不包括)之間的數,指明指定時間的天的小數部分。0對應midnight,0.5對應noon,0.75對應6:30pm,etc。
TDateTime::TimeString
把TDateTime對象轉換為AnsiString。
AnsiString __fastcall TimeString() const;
返回TDateTime對象的時間值(val數據成員的小數)轉換為字符串的一個AnsiString對象。轉換使用LongTimeFormat全局變量指定的格式。通過改變一個或多個date and time變量值可改變字符串顯示的格式。