C语言中如何获取当前系统时间的小时?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中如何获取当前系统时间的小时?相关的知识,希望对你有一定的参考价值。
参考技术A
程序主要通过当前系统日历的struct tm结构体获得,主要代码如下,\\x0d\\x0a#include \\x0d\\x0a#include \\x0d\\x0a//程序功能输出当前时间在24H下的小时数 \\x0d\\x0aint main(int argc, char *argv[])\\x0d\\x0a\\x0d\\x0astruct tm *ptr;\\x0d\\x0atime_t lt;\\x0d\\x0atime(<);//当前系统时间 \\x0d\\x0aptr=localtime(<);//获取本地日历时间指针 \\x0d\\x0aprintf("hour=%d(24H )\n",ptr->tm_hour);//输出24H下的小时数 \\x0d\\x0areturn 0;\\x0d\\x0a\\x0d\\x0a\\x0d\\x0a结构体tm定义如下,\\x0d\\x0astruct tm \\x0d\\x0aint tm_sec; /* 秒_取值区间为[0,59] */\\x0d\\x0aint tm_min; /* 分 - 取值区间为[0,59] */\\x0d\\x0aint tm_hour; /* 时 - 取值区间为[0,23] */\\x0d\\x0aint tm_mday; /* 一个月中的日期 - 取值区间为[1,31] */\\x0d\\x0aint tm_mon; /* 月份(从一月开始,0代表一月) - 取值区间为[0,11] */\\x0d\\x0aint tm_year; /* 年份,其值从1900开始 */\\x0d\\x0aint tm_wday; /* 星期_取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 */\\x0d\\x0aint tm_yday; /* 从每年的1月1日开始的天数_取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推 */\\x0d\\x0aint tm_isdst; /* 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。*/\\x0d\\x0along int tm_gmtoff; /*指定了日期变更线东面时区中UTC东部时区正秒数或UTC西部时区的负秒数*/\\x0d\\x0aconst char *tm_zone; /*当前时区的名字(与环境变量TZ有关)*/\\x0d\\x0a;
C语言获取系统时间的函数
在标准C编程中,我们如何写程序来获取当前系统的时间呢?
获取系统时间的函数
#include <time.h>
time_t time(time_t *t)
参数:如果参数不为空,那么返回值会存储一份到t所指向的空间中,参数本身是可以为空的
返回值:成功返回系统时间(秒数) , 失败返回-1 。
我们上代码:
<span style="font-size:18px;">#include<stdio.h>
#include<time.h>
int main()
{
//获取系统的时间
time_t t=time(NULL);
time_t t1;
time(&t1);
printf("t:%ld\\n",t);
printf("t1:%ld\\n",t1);
int h=0;
int m=0;
int s=0;
s=t%60; //时
m=t%3600/60; //分
h=(t%(3600*24)/3600+8); //秒
printf("%02d:%02d:%02d\\n",h,m,s);
return 0;
}</span>
执行结果:
其实返回的是秒数,通过算法的时间进制转换轻松可以获取时和分。
以上是关于C语言中如何获取当前系统时间的小时?的主要内容,如果未能解决你的问题,请参考以下文章
在c语言中如何获取当前日期?
用c语言如何获取系统当前时间的函数?
C语言中 如何获取系统时间
用c语言如何获取系统当前时间的函数?
在c语言中如何获取当前日期?
C语言如何获取电脑实时时间