5、win32的DATE类型
其实DATE=double,整数部分保存1900-1-1以来天数,小数部分保存微妙数
可以通过以下函数与SYSTEMTIME相互转换:
INT VariantTimeToSystemTime(double vtime,LPSYSTEMTIME lpSystemTime);
INT SystemTimeToVariantTime(LPSYSTEMTIME lpSystemTime,double*pvtime);
也可以通过COleDatetime类进行处理。使用中,COleDatetime便是以此类型作为基础处理,同时ADO数据库编程中,时间字段返回的也是这个类型
但是这两种转换都存在重大数据丢失问题!最终都只能保留到秒信息,毫秒信息没了,而且还对毫秒做了四舍五入运算!
如果是数据库编程设计这种高精度,就不能使用ADO了,只能用ODBC和OLE DB
6、MFC中有两个类:COleDatetime(以DATE为基础),CTime(以__time64_t为基础)
如果绑定的是日期型控件,一定要用COleDatetime!虽然CTime可以精确到3000年,但是超过这个范围,CTime是要抛出异常,让你程序崩溃的!