C语言时间,怎么把time_t类型的时间,转化成年、月、日、时、分、秒呢?

 我来答
世界djk
推荐于2016-03-22 · TA获得超过9270个赞
知道大有可为答主
回答量:3454
采纳率:91%
帮助的人:557万
展开全部
可以使用gmtime函数或localtime函数将time_t类型的时间日期转换为struct tm类型(年、月、日、时、分、秒)。
使用time函数返回的是一个long值,该值对用户的意义不大,一般不能根据其值确定具体的年、月、日等数据。gmtime函数可以方便的对time_t类型数据进行转换,将其转换为tm结构的数据方便数据阅读。gmtime函数的原型如下:struct tm *gmtime(time_t *timep);localtime函数的原型如下:struct tm *localtime(time_t *timep);将参数timep所指的time_t类型信息转换成实际所使用的时间日期表示方法,将结果返回到结构tm结构类型的变量。gmtime函数用来存放实际日期时间的结构变量是静态分配的,每次笑清前调用gmtime函数都将重写该结构变量。如果希望保存结构变量中的内容,必须将其复制到tm结构的另一个变量中。gmtime函数与localtime函数的区别:gmtime函数返回的时间日期未经时区转换,是UTC时间(又称为世界时间,即格林尼治时间)。localtime函数返回当前时区的时间。
转换日期时间表示形式time_t类型转换为struct tm类型示例:
#include <stdio.h>
#include <time.h>
int main()
{
char *wday[]={"Sun","Mon","Tue","Wed","Thu","碰清Fri","Sat"};/*指针字符数组*/ time_t t;
struct tm *p;
t=time(NULL);/*获取从1970年1月1日零时到现在的秒数,保存到变量t中*/ p=gmtime(&t); /*变量t的值转换为实际日期时间的表示格式*/
printf("%d年%02d月%02d日",(1900+p->tm_year), (1+p->tm_mon),p->tm_mday);
printf(" %s ", wday[p->tm_wday]);
printf("%02d:%02d:%02d\n", p->tm_hour, p->tm_min, p->tm_sec);
return 0;
}
注意:p=gmtime(&t);此正谨行若改为p=localtime(&t);则返回当前时区的时间。
忆琳是神0197
推荐于2018-02-26 · TA获得超过166个赞
知道答主
回答量:118
采纳率:0%
帮助的人:162万
展开全部
#include<time.h>//C语言的头文件
#include<stdio.h>//C语言的I/O

voidmain()
{time_tnow;//实例化time_t结构
structtm*timenow;//实例化tm结构指针
time(&now);
//time函数读取现在的时间(国际标准时凳携间非北京时间),然后传值给now
timenow=localtime(&now);
//localtime函数把从time取得的时间now换算成电脑中的旁粗孙时间(就是设置的地区)
printf("Localtimeis%s\n",asctime(timenow));
//上句中asctime函数把时间转换成字符运链,通过printf()函数输出
}

注释:time_t是一个在time.h中定义好的结构体。而tm结构体的原形如下:

structtm
{inttm_sec;
inttm_min;
inttm_hour;
inttm_mday;
inttm_mon;
inttm_year;
inttm_wday;
inttm_yday;
inttm_isdst;
};
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
SilenZheng
推荐于2018-01-30
知道答主
回答量:8
采纳率:0%
帮助的人:6986
展开全部
void main()
{
time_t timep;
char s[30];
time(&timep);
strcpy(s,ctime(&timep));
printf("首败搜枯昌%s"者历, s);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式