1.获取精确到秒的TimeStamp(10位)
SYSTEMTIME sysTime;
::GetLocalTime(&sysTime);
CTime curTime(sysTime);
__int64 timeStamp = curTime.GetTime();
// timeStamp 1641455665 __int64
2.获取精确到毫秒的TimeStamp(13位)
因为获取到的SYSTEMTIME结构对象sysTime中存储了wMilliseconds毫秒的值,所以只需将timeStamp*1000,再加上sysTime.wMilliseconds值即可得到精确到毫秒的时间戳。
SYSTEMTIME sysTime;
::GetLocalTime(&sysTime);
CTime curTime(sysTime);
__int64 timeStamp = curTime.GetTime();
__int64 CurTimeStamp = timeStamp*1000 + sysTime.wMilliseconds;
//__int64 CurTimeStamp = curTime.GetTime()*1000 + sysTime.wMilliseconds; //也可
// timeStamp 1641455665 __int64
// CurTimeStamp 1641455665798 __int64
3. 其它操作
当然,得到13位的TimeStamp后也可从中获取相应的信息:
获取毫秒:int Milliseconds = CurTimeStamp % 1000;
获取秒数:__int64 currtime = CurTimeStamp / 1000;
可通过工具将时间戳转换为对应的北京时间:
https://tool.lu/timestamp/
时间戳与Date的相互转换方法,其它参考:
https://blog.youkuaiyun.com/q229827701/article/details/51272753?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.pc_relevant_paycolumn_v2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.pc_relevant_paycolumn_v2&utm_relevant_index=2
https://blog.youkuaiyun.com/xiangxianghehe/article/details/105574657?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-4.pc_relevant_paycolumn_v2&spm=1001.2101.3001.4242.3&utm_relevant_index=7