#pragma once
|
#include <chrono>
|
class TimeUtil {
|
|
public:
|
// »ñÈ¡µ±Ç°Ê±¼ä´Á
|
static long getNowTimeStamp() {
|
auto now = std::chrono::system_clock::now();
|
// ת»»ÎªÊ±¼ä´Á
|
auto now_s = std::chrono::duration_cast<std::chrono::seconds>(now.time_since_epoch()).count();
|
|
return now_s;
|
}
|
|
static string format(long timestamp, string format="%Y-%m-%d %H:%M:%S") {
|
time_t rawtime = static_cast<time_t>(timestamp);
|
|
// ʹÓÃlocaltimeº¯Êý½«time_tÀàÐÍת»»Îªstruct tm½á¹¹Ì壬»ñÈ¡±¾µØÊ±¼ä
|
struct tm* timeinfo;
|
timeinfo = localtime(&rawtime);
|
|
char buffer[80];
|
strftime(buffer, sizeof(buffer), format.c_str(), timeinfo);
|
// ½«charÊý×éת»»Îªstring
|
return std::string(buffer);
|
}
|
|
static long timeStr2Seconds(string st) {
|
int h = stoi(st.substr(0, 2));
|
int m = stoi(st.substr(3, 2));
|
int s = stoi(st.substr(6, 2));
|
return h * 3600 + m * 60 + s;
|
}
|
|
|
};
|