保存当前时间到字符串 -C语言实现

使用C语言获取当前时间,我们通常使用

system("date/t");

system("time/t");

(注意这里不是反斜杠)
来直接打印当前时间
在win系统中,按windows+r,输入cmd调出命令行
直接输入 date/t 效果是一样的

但这种方法只能将当前时间打印出来
无法将其作为字符串保存下来

这里推荐一种方法

char date[20]="\0";
void GetTime()
{
    
    
	//需要使用头文件 time.h
	//这里定义一个指针变量
	time_t timep;
 	struct tm* p;
 	time(&timep);
	p = gmtime(&timep);
 	int year, month, day, hour, min, sec;
	year = p->tm_year + 1900;
 	month = p->tm_mon + 1;
 	day = p->tm_mday;
 	hour = p->tm_hour + 8;
 	min = p->tm_min;
 	sec = p->tm_sec;
 	//使用sprintf整合字符串
 	sprintf(date, "%d-%d-%d %d:%d:%d", year, month, day, hour, min, sec);
}

需要注意的是,Unix时间计算从1900年起,所以年份要加上1900
月份是0-11月,所以要+1
由于获取的是格林威治时间,与中国差八个时区
所以要+8

猜你喜欢

转载自blog.csdn.net/Destiny_xt/article/details/104094134