标签:struct time gmtime 1970 tm printf Nowt Buf ctime
#include<stdio.h>
#include<time.h>
int main(int argc, const char *argv[])
{
time_t Nowt = 0 ;
time_t i = 0;
char *buf = NULL;
char Buf[50];
struct tm *p; //struct tm变量
char outstr[200];
i = time(&Nowt); //自1970年到现在一共过去了几秒
printf(“1970到目前经历的秒数为:%ld\n”,i);
printf(“自1970-01-01起的小时数 = %ld \n”,i/3600);printf(“1970到目前经历的秒数转换成字符串格式显示:\n”);
buf = ctime(&Nowt); //得到一个可视化时间字符串
printf("buf = %s ",buf );
ctime_r(&Nowt, Buf); //可重入的版本,指定输出的位置
printf("Buf = %s",Buf);
puts("\n");
p = localtime(&Nowt);
printf("1970到目前经历的秒数通过localtime转换成struct tm结构体时间:\n");
printf("%d年%d月%d日%d时%d分%d秒\n",p->tm_year+1900,p->tm_mon+1,p->tm_mday,
p->tm_hour,p->tm_min,p->tm_sec);
localtime_r(&Nowt,p);
printf("1970到目前经历的秒数通过localtime转换成struct tm结构体时间:\n");
printf("%d年%d月%d日%d时%d分%d秒\n",p->tm_year+1900,p->tm_mon+1,p->tm_mday,
p->tm_hour,p->tm_min,p->tm_sec);
puts("\n");
p=gmtime(&Nowt);
printf("1970到目前经历的秒数通过gmtime转换成struct tm 结构体时间:\n");
printf("%d年%d月%d日%d时%d分%d秒\n",p->tm_year+1900,p->tm_mon+1,p->tm_mday,
p->tm_hour,p->tm_min,p->tm_sec);
gmtime_r(&Nowt, p);
printf("%d年%d月%d日%d时%d分%d秒\n",p->tm_year+1900,p->tm_mon+1,p->tm_mday,
p->tm_hour,p->tm_min,p->tm_sec);
puts("\n");
buf = asctime(p);
printf("将struct tm结构体时间转换成字符串时间格式时间显示:\n");
printf("Buf = %s",buf);
asctime_r(p,Buf);
printf("Buf= %s",Buf);
puts("\n");
strftime(outstr,sizeof(outstr), "%F %H ", p); //选择输出样式
printf("将struct tm转换成特定格式的时间规则样式显示:\n");
printf("Result string is \"%s\"\n",outstr);
puts("\n");
i = mktime(p);
printf("将struct tm反转为1970年到现在经过的秒数\n");
printf("i=%ld\n",i);
return 0;
}
运行结果:
标签:struct,time,gmtime,1970,tm,printf,Nowt,Buf,ctime 来源: https://blog.csdn.net/weixin_45464650/article/details/100032751
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。