cpp-datetime

Win32 获取时间

1
2
SYSTEMTIME time;
GetSystemTime(&time);

win32 格式化时间

1
2
char msg[9];
sprintf(msg, "%04d%02d%02d", st.wYear, st.wMonth, st.wDay);

timestamp

need cpp 11 support

1
2
3
4
5
6
7
8
9


std::time_t getTimeStamp()
{
std::chrono::time_point<std::chrono::system_clock,std::chrono::milliseconds> tp = std::chrono::time_point_cast<std::chrono::milliseconds>(std::chrono::system_clock::now());
auto tmp=std::chrono::duration_cast<std::chrono::milliseconds>(tp.time_since_epoch());
std::time_t timestamp = tmp.count();
return timestamp;
}

时间戳转日期

1
2
3
4
5
6
7
8
9
10
std::tm* (int64 timestamp)
{
int64 milli = timestamp+ (int64)8*60*60*1000;
auto mTime = std::chrono::milliseconds(milli);
auto tp=std::chrono::time_point<std::chrono::system_clock,std::chrono::milliseconds>(mTime);
auto tt = std::chrono::system_clock::to_time_t(tp);
std::tm* now = std::gmtime(&tt);
printf("%4d年%02d月%02d日 %02d:%02d:%02dn",now->tm_year+1900,now->tm_mon+1,now->tm_mday,now->tm_hour,now->tm_min,now->tm_sec);
return now;
}