OLE时间和CTime时间相互转换

1.OLE时间是用double类型来表示的,整数部分是自1900年至今流逝的天数包含润年计算,而小数部是不足一天流逝的总秒数。

2.CTime时间用的是__int64类型来表示的,数值是自1900年至今流逝的总秒数。

3.下面用代码来描述一下转换的算法,值得一提的是两个函数都对25569数进行了加减,而这个值是1900-01-01到1970-01-01所流逝的总天数。

//OLE时间转CTime时间
__time64_t OleTimeToCTime(double t)
{
	return (__time64_t)((t - 25569) * 86400.0 - 8 * 3600 + 0.5);
}


//CTime时间转OLE时间
double CTimeToOleTime(__time64_t t)
{
	return (double)(25569 + t / 86400.0 + 8.0 / 24.0) ;
}

 

你可能感兴趣的:(基础编程)