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语言如何获取电脑实时时间