/**
* 获取当前时间,包括毫秒
*
* @return 当前时间的字符串表示,格式为 "%Y-%m-%d %T.%ld"
*/
const char *elog_port_get_time(void)
{
// 定义一个静态的字符数组来存储当前系统时间,包括毫秒,大小为26个字符
static char cur_system_time[26] = {0};
// 使用struct timeval来获取当前时间,包括秒和微秒
struct timeval tv;
struct timezone tz;
struct tm *t;
gettimeofday(&tv, &tz);
t = localtime(&tv.tv_sec);
snprintf(cur_system_time, sizeof(cur_system_time), "%d-%d-%d %d:%d:%d.%ld", 1900 + t->tm_year, 1 + t->tm_mon, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec, tv.tv_usec);
printf("%s\n", cur_system_time);
// 返回格式化后的时间字符串
return cur_system_time;
}
用于easylogger
注意关闭异步输出宏,要不然会安装level级别排序输出,时间戳不连贯了