大家在平时的项目中,一定经常面临打日志信息的问题,在打日志这个问题上,大家有时一定会非常关注【时间戳】这个信息点。
想必大家也很经常使用【gettimeofday】接口来获取当前的系统时间,但是很遗憾的是,它获取的时间信息是存储在一个叫strcut timeval的结构体中。那么如何将这个结构体的时间信息转换为可是显示的时间字符串呢?
比如显示 "2018-12-10 20:52:00"。本文就将给你答案,直接附上代码:
#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
#include <time.h>
//由struct timeval结构体数据(由gettimeofday获取到的)转换成可显示的时间字符串
static char * get_local_time(char *time_str, int len, struct timeval *tv)
{
struct tm* ptm;
char time_string[40];
long milliseconds;
ptm = localtime (&(tv->tv_sec));
/* 格式化日期和时间,精确到秒为单位。*/
//strftime (time_string, sizeof(time_string),