有些业务中需要计算时间,比如:心跳包场景、业务代码运行时长
整理代码也学习其之间不同:
GetTickCount()类函数:获取系统启动到当前的毫秒数,是单调递增的,不受系统时间修改影响
time(nullptr):获取1970/1/1到当前的时间戳(秒数),是utc时间,受系统时间影响
代码
#ifndef TimeUtil_h_ #define TimeUtil_h_ 1 #include <stdio.h> #include <string> class TimeUtil { public: TimeUtil() = default; ~TimeUtil() = default; // 获取系统启动到当前的毫秒数 static uint64_t MyGetTickCount(); // 获取系统启动到当前的毫秒数C++11实现 static uint64_t MyGetTickCount_v11(); }; #endif#include "TimeUtil.h" #include <chrono> #ifdef _MSC_VER #include <windows.h> #else #include <time.h> #include <sys/time.h> #endif uint64_t TimeUtil::MyGetTickCount() { #ifdef _MSC_VER