保存当前时间到字符串 -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

保存当前时间到字符串 -C语言实现保存当前时间到字符串 -C语言实现 忄京蛰 发布了2 篇原创文章 · 获赞 1 · 访问量 20 私信 关注
上一篇:批处理Bat-根据当前时间自动创建文件夹


下一篇:c#-.Net-一天中的时间