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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值