一、如何获取系统时间?

Linux下常用的时间类型:time_t, struct timeval, struct timespec, struct tm

关于这方面的知识,我建议大家只需要会套用下面的方法,调用系统时间就行,下面还是介绍代码。
时间格式:年—月—日 时:分:秒:毫秒

二、代码介绍

代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <sys/time.h>
#include <unistd.h>

void GetSystemTime(char *buffer)
{
	struct tm *td;
	struct tm tdres;
	struct timeval now;
	gettimeofday(&now, 0);
	td = localtime_r((time_t *)&(now.tv_sec), &tdres);
	if(td == NULL)
	{
		return;
	}
	sprintf(buffer, "%2.2d—%2.2d—%2.2d %2.2d:%2.2d:%2.2d:3.3d", (td->tm_year+1900), (td->tm_mon+1), td->tmday, td->tm_hour, td->tm_min, td->tm_sec, (long)(now.tv_usec/1000));
}

int main()
{
	while(1) 
	//每隔一秒打印一次当前时间
	//只是为了方便测试,不建议做定时器
	{
		char dataTime[1024] = {0};
		GetSystemTime(dataTime);
		printf("dataTime:%s\n", dataTime);
		sleep(1);
    }
	return 0;
}

2.运行结果

在这里插入图片描述


总结

这部分都是系统函数,细节就不深究了,会用就行。

Logo

更多推荐