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变量值可改变字符串显示的格式。