方法 |
描述 |
public: |
|
TDateTime |
__fastcall TDateTime() {Val = 0;}
__fastcall TDateTime(const TDateTimeBase& src) {Val = src.Val;}
__fastcall TDateTime(const double src) {Val = src;}
__fastcall TDateTime(const int src) {Val = src;}
__fastcall TDateTime(unsigned short year, unsigned short month, unsigned short day);
__fastcall TDateTime(unsigned short hour, unsigned short min, unsigned short sec, unsigned short msec);
__fastcall TDateTime(unsigned short year, unsigned short month, unsigned short day, unsigned short hour, unsigned short min, unsigned short sec, unsigned short msec);
enum TDateTimeFlag {Date, Time, DateTime};
__fastcall TDateTime(const System::String& src, TDateTimeFlag flag = DateTime);
构造函数
参数:
Val: double 类型的 Val 是从 1899年12月30日 00:00:00 开始,到这个时刻的天数,1 等于 1天,0.5 等于 12 个小时……
year: 年,范围 1 ~ 9999
month: 月,范围 1 ~ 12
day: 日,范围 1 ~ 28/29/30/31 必须符合平年/闰年/大月/小月的规则,不能超限
hour: 时,范围 0 ~ 23
min: 分,范围 0 ~ 59
sec: 秒,范围 0 ~ 59
msec: 毫秒,范围 0 ~ 999 |
CurrentDate |
static TDateTime __fastcall CurrentDate();
返回当前日期,例如:TDateTime t1 = TDateTime::CurrentDate(); |
CurrentTime |
static TDateTime __fastcall CurrentTime();
返回当前时间,例如:TDateTime t2 = TDateTime::CurrentTime(); |
CurrentDateTime |
static TDateTime __fastcall CurrentDateTime();
返回当前日期时间,例如:TDateTime t3 = TDateTime::CurrentDateTime(); |
FileDateToDateTime |
static TDateTime __fastcall FileDateToDateTime(int fileDate);
把 FileGetDate 函数返回的日期时间转为 TDateTime 类型的日期时间。 |
operator = |
TDateTime& __fastcall operator =(const TDateTimeBase& rhs) {Val = rhs.Val;return *this;}
TDateTime& __fastcall operator =(const TDateTime& rhs) {Val = rhs.Val; return *this;}
TDateTime& __fastcall operator =(const double rhs) {Val = rhs; return *this;}
TDateTime& __fastcall operator =(const int rhs) {Val = rhs; return *this;}
赋值操作符,可以把日期时间、浮点数、整数赋值给 TDateTime。
参数:如果是浮点数,或者整数值,是从 1899年12月30日 00:00:00 开始,到这个时刻的天数,1 等于 1天,0.5 等于 12 个小时…… |
operator += |
TDateTime& __fastcall operator +=(const TDateTimeBase& rhs) {Val+=rhs.Val;return *this;}
TDateTime& __fastcall operator +=(const TDateTime& rhs) {Val += rhs.Val; return *this;}
TDateTime& __fastcall operator +=(const double rhs) {Val += rhs; return *this;}
TDateTime& __fastcall operator +=(const int rhs) {Val += rhs; return *this;}
把参数的数值加在当前的 TDateTime 数值里面,数值按照天数计算,1 等于 1天,0.5 等于 12 个小时…… |
operator -= |
TDateTime& __fastcall operator -=(const TDateTimeBase& rhs) {Val-=rhs.Val;return *this;}
TDateTime& __fastcall operator -=(const TDateTime& rhs) {Val -= rhs.Val; return *this;}
TDateTime& __fastcall operator -=(const double rhs) {Val -= rhs; return *this;}
TDateTime& __fastcall operator -=(const int rhs) {Val -= rhs; return *this;}
把 TDateTime 里面的数值减去参数的数值,数值按照天数计算,1 等于 1 天,0.5 等于 12 个小时…… |
operator ++ |
TDateTime& operator ++() {Val++; return *this;}
TDateTime operator ++(int) {TDateTime tmp(*this); Val++; return tmp;}
加 1 操作符,1 相当于 1 天。 |
operator -- |
TDateTime& operator --() {Val--; return *this;}
TDateTime operator --(int) {TDateTime tmp(*this); Val--; return tmp;}
减 1 操作符,1 相当于 1 天。 |
operator + |
TDateTime __fastcall operator +(const TDateTimeBase& rhs) const {return Val+rhs.Val;}
TDateTime __fastcall operator +(const TDateTime& rhs) const {return Val+rhs.Val;}
TDateTime __fastcall operator +(const double rhs) const {return Val+rhs;}
TDateTime __fastcall operator +(const int rhs) const {return Val+rhs;}
返回 TDateTime 当前数值和参数相加的结果,数值按照天数计算。 |
operator - |
TDateTime __fastcall operator -(const TDateTimeBase& rhs) const {return Val-rhs.Val;}
TDateTime __fastcall operator -(const TDateTime& rhs) const {return Val-rhs.Val;}
TDateTime __fastcall operator -(const double rhs) const {return Val-rhs;}
TDateTime __fastcall operator -(const int rhs) const {return Val-rhs;}
返回 TDateTime 当前数值和参数相减的结果,数值按照天数计算。 |
operator == |
bool __fastcall operator ==(const TDateTime& rhs) const {return Val == rhs.Val;}
判断两个日期相等。 |
operator != |
bool __fastcall operator !=(const TDateTime& rhs) const {return Val != rhs.Val;}
判断两个日期不等。 |
operator > |
bool __fastcall operator >(const TDateTime& rhs) const {return Val > rhs.Val;}
判断大于。 |
operator < |
bool __fastcall operator <(const TDateTime& rhs) const {return Val < rhs.Val;}
判断小于。 |
operator >= |
bool __fastcall operator >=(const TDateTime& rhs) const {return Val >= rhs.Val;}
判断大于等于。 |
operator <= |
bool __fastcall operator <=(const TDateTime& rhs) const {return Val <= rhs.Val;}
判断小于等于。 |
operator String() |
__fastcall operator System::String() const;
类型转换操作符,转为字符串类型,使用 FormatSettings 指定的格式。 |
operator double() |
__fastcall operator double() const {return Val;}
类型转换操作符,转为 double 类型,等于从 1899年12月30日 00:00:00 开始,到这个时刻的天数,1 等于 1天,0.5 等于 12 个小时…… |
operator int() |
__fastcall operator int() const {return (int)Val;}
类型转换操作符,转为 int 类型,等于从 1899年12月30日 00:00:00 开始,到这个时刻的天数,1 等于 1天,…… |
FormatString |
System::String __fastcall FormatString(const System::String& format) const;
按照参数 format 给定的格式转为字符串,例如 s = t.FormatString(L"yyyy'年'mm'月'dd'日' hh:nn:ss");
参数 format 指定日期时间的格式,请参考 FormatDateTime 函数的参数说明。 |
DateString |
System::String __fastcall DateString() const;
转为日期字符串,使用 FormatSettings 指定的格式。 |
TimeString |
System::String __fastcall TimeString() const;
转为时间字符串,使用 FormatSettings 指定的格式。 |
DateTimeString |
System::String __fastcall DateTimeString() const;
转为日期时间字符串,使用 FormatSettings 指定的格式。 |
DayOfWeek |
int __fastcall DayOfWeek() const;
返回 TDateTime 的星期值,范围:1 ~ 7,是符合美国习惯的星期,1:星期日,2:星期一,……,7:星期六。
如果需要 ISO 8601 国际标准的星期,需要用 DayOfTheWeek 函数,1:星期一,2:星期二,……,7:星期日。
例如:dow = t.DayOfWeek(); 或 dow = DayOfTheWeek(t); 将返回不同标准的星期值,ISO 8601 符合中国习惯。 |
FileDate |
int __fastcall FileDate() const;
返回用于 FileSetDate 函数的文件日期时间。 |
DecodeDate |
void __fastcall DecodeDate(unsigned short* year, unsigned short* month, unsigned short* day) const;
从 TDateTime 里面提取出年、月、日。 |
DecodeTime |
void __fastcall DecodeTime(unsigned short* hour, unsigned short* min, unsigned short* sec, unsigned short* msec) const;
从 TDateTime 里面提取出时、分、秒、毫秒。 |