CTime::CTime

CTime( );
CTime( const CTime& timeSrc );
CTime( time_t time );
CTime( int nYear, int nMonth, int nDay, int nHour, int nMin, int nSec, int nDST = -1 );
CTime( WORD wDosDate, WORD wDosTime, int nDST = -1 );
CTime( const SYSTEMTIME& sysTime, int nDST = -1 );
CTime( const FILETIME& fileTime, int nDST = -1 );

参数:
timeSrc表示一个已经存在的CTime对象。
time表示一个时间值。
nYear,nMonth, nDay,
nHour, nMin, nSec
表示要拷贝到新的CTime对象中去的日期和时间值。
nDST表明有效的是否是daylight saving time。可以是下列三个值中的某一个:
·nDST被设置为0表示起作用的是标准时间。
·nDST被设置为一个大于0的值表示起作用的是daylight saving time。
·nDST被设置为一个小于0的值表示要自动计算起作用的是标准时间还是daylight saving time。
wDosDate, wDosTime要被转换为一个日期/时间值并被拷贝到新的CTime对象中去的MSDOS日期和时间。
sysTime要被转换为一个日期/时间值并被拷贝到新的CTime对象中去的SYSTEMTIME结构。
fileTime要被转换为一个日期/时间值并被拷贝到新的CTime对象中去的FILETIME结构。

说明:
所有这些构造函数都创建一个新的CTime对象,并用指定的基于当前时区的绝对时间值来初始化这个对象。
下面是对每一个构造函数的描述:
·CTime( );构造一个没有初始化的CTime对象。这个构造函数允许你定义CTime对象数组。在使用此对象之前,你应该用有效的时间来初始化这个数组。
·CTime( const CTime& );从另一个CTime值构造一个CTime对象。
·CTime( time_t );从一个time_t类型构造一个CTime对象。
·CTime( int, int, etc. );从本地时间成分构造一个CTime对象,每一个时间成分被约束在下列范围:
构成范围
nYear1970—3000
nMonth1—12
nDay1—31
nHour没有约束
nMin没有约束
nSec没有约束
*最大的日期限是1/18/2038。更宽的日期范围,参见COleDateTime。 这个构造函数进行到UTC的相应转换。如果一个或多个年,月,或日成分超出了范围,则Microsoft基础类库的调试版会给出断言。在调用之前由你负责检验参数。
·CTime( WORD, WORD );根据指定的MSDOS日期和时间构造一个CTime对象。
·CTime( const SYSTEMTIME& );根据一个SYSTEMTIME结构构造一个CTime对象。
·CTime( const FILETIME& );根据一个FILETIME结构构造一个CTime对象。你最好不要直接使用CTime FILETIME初始化。如果你使用一个CTime对象来操纵一个文件,则CFile::GetStatus通过使用一个用FILETIME结构初始化的CTime对象来为你获取该文件的时间标记。
有关time_t数据类型的更多信息,参见“Microsoft Visual C++ 6.0运行库参考”中的时间函数。
更多的信息,参见“Win32 SDK程序员参考”中的SYSTEMTIME和FILETIME结构。
更多的信息,参见Win32 SDK文档中的MSDOS日期和时间项。

示例:
// CTime::CTime示例:
time_t osBinaryTime; // C运行时时间(在<time.h>中定义)
time( &osBinaryTime ); // 从操作系统中获取当前时间
CTime time1; // 空的CTime. (0 是不合法的时间值.)
CTime time2 = time1; // 拷贝构造函数
CTime time3( osBinaryTime ); // 根据C运行时时间构造
CTimeCTime time4( 1999, 3, 19, 22, 15, 0 ); // 10:15PM March 19, 1999

请参阅:CTime::GetTime, CTime::GetCurrentTime, CTime::operator =