本文主要是介绍【Linux编程】如何将gettimeofday获取的时间信息转换成可显示的字符串时间?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
大家在平时的项目中,一定经常面临打日志信息的问题,在打日志这个问题上,大家有时一定会非常关注【时间戳】这个信息点。
想必大家也很经常使用【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), "%Y/%m/%d %H:%M:%S", ptm); //输出格式为: 2018/12/09 10:48:31.391//strftime (time_string, sizeof(time_string), "%Y|%m|%d %H-%M-%S", ptm); //输出格式为: 2018|12|09 10-52-28.302//strftime
这篇关于【Linux编程】如何将gettimeofday获取的时间信息转换成可显示的字符串时间?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!