时间戳相关的函数
struct timeval tv;
memset(&tv, 0, sizeof tv);
gettimeofday(&tv, NULL);//获取当前时间戳
int64_t val = 0;
val += static_cast<int64_t>(tv.tv_sec) * 1000 * 1000;
val += tv.tv_usec;
**要使用上面的int64_t 必须在头文件里面包含: **
#ifndef __STDC_FORMAT_MACROS
#define __STDC_FORMAT_MACROS
#endif /* __STDC_FORMAT_MACROS */
#include <inttypes.h>
获取时间戳后,可以使用localtime()或者gmtime()函数来转换为本地时间
time_t sec = value_ / (1000 * 1000);
int64_t usec = value_ % (1000 * 1000);
struct tm st;
//gmtime_r(&sec, &st);
localtime_r(&sec, &st);
char text[100] = {0};
snprintf(text, sizeof text, "%04d%02d%02d %02d:%02d:%02d.%06lld", st.tm_year + 1900, st.tm_m on + 1, st.tm_mday, st.tm_hour, st.tm_min, st.tm_sec, usec);
return string(text);