CTime 与COleDateTime转换
CTime是无符号long型,范围0-4 2 9 4 9 6 7 2 9 5. 代表从1970年1月1日之后经过的秒数,所以到了2 0 3 7年它将达到4 2 9 4 9 6 7 2 9 5,从而不能再使用。
COleDateTime是double类型,占64位。代表从1 9 0 0年1 2月3 0号之后的天数(小时是天的小数部分),几千年之内不会溢出.
CTime COleDateTime相互转换:
//COleDataTime—>CTime
COleDateTime cOleTime(1977,4,16,2,2,2);
SYSTEMTIME systime;
VariantTimeToSystemTime(cOleTime, &systime);
CTime cTime(systime);
//CTime—>time_t
time_t tt=cTime.GetTime();
//time_t—>COleDateTime
COleDateTime cOleTime(tt);
CTime _Variant_t相互转换
SYSTEMTIME systime
CTime cTime(2007,5,7,0,0,0);
cTime.GetAsSystemTime(systime);//转成systime
double dtime;
SystemTimeToVariantTime(&systime,&dtime);
_variant_t var_time(dtime,VT_DATE);//var_time就是转换结果
补:
GetSystemTime:所返回的是UTC.
协调世界时(Coordinated Universal Time,简写作UTC,之前也被拼做Universal Time Coordinated,有时是Universal Coordinated Time)是由国际无线电咨询委员会定义和建议采用的,并由国际时间局(BIH)负责保持的以国际单位制(SI)秒为单位的时间标度。对与无线电规则相关的大部分实际应用而言,协调世界时(UTC)与本初子午线(经度零度)上的平均太阳时等效。该时间过去以格林威治平均时(GMT)表示。