可能要根据时区考虑,比如夏令时
不考虑时区的,一般计算可能是有问题的。
比如我这里有人从网上搜的这个函数(搜常数11644473600能找到SO的原帖子)
#define WINDOWS_TICK 10000000
#define SEC_TO_UNIX_EPOCH 11644473600LL
LONGLONG C::WinTime2UnixTime(IN LONGLONG llWindowTime) {
const auto seconds = llWindowTime / WINDOWS_TICK;
return (seconds >= SEC_TO_UNIX_EPOCH) ? (seconds - SEC_TO_UNIX_EPOCH) : 0;
}
而且这个时间差值已经抽象为C++的std::chrono里的duration了
【 在 ylh0315 的大作中提到: 】
: 访问不了。
: 主要原理是把时间作为一个整数,以一个时刻为0点,1899.12.31:00:00:00.000000为0点,按照日,分,秒,微秒的粒度,表示为一个整数,就方便各种计算啦,需要的是,各种表示格式与整数的互相转换。
--
修改:z16166 FROM 221.220.171.*
FROM 221.220.171.*