Windows/Linux下C/C++时间函数全攻略(2)

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是要抛出异常,让你程序崩溃的!

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwsdsg.html