#include <sys/time.h>
#include <time.h>
#include <string>
#include <stdio.h>
std::string GetTimeInMill()
{
struct timeval tTimeVal;
gettimeofday(&tTimeVal, nullptr);
struct tm *tTM = localtime(&tTimeVal.tv_sec);
char timeStr[512]{0};
sprintf(timeStr, "%04d-%02d-%02d %02d:%02d:%02d.%03ld",
tTM->tm_year + 1900, tTM->tm_mon + 1, tTM->tm_mday,
tTM->tm_hour, tTM->tm_min, tTM->tm_sec,
tTimeVal.tv_usec / 1000);
return std::string(timeStr);
}
std::string Mill2DateStr(const uint64_t mill)
{
#if 0
time_t tt = std::chrono::system_clock::to_time_t(std::chrono::time_point<std::chrono::system_clock, std::chrono::milliseconds>(std::chrono::milliseconds(mill)));
auto *tTM = gmtime(&tt);
#else
time_t sec = mill / 1000;
auto *tTM = localtime(&sec);
#endif
auto millLeft = mill % 1000;
char timeStr[512]{0};
sprintf(timeStr, "%04d-%02d-%02d %02d:%02d:%02d.%03ld",
tTM->tm_year + 1900, tTM->tm_mon + 1, tTM->tm_mday,
tTM->tm_hour, tTM->tm_min, tTM->tm_sec,
millLeft);
return std::string(timeStr);
}
c/c++ 获取系统时间毫秒级
于 2022-08-22 11:48:36 首次发布