C语言中 如何获取系统时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中 如何获取系统时间相关的知识,希望对你有一定的参考价值。

各位高手帮手编写一个程序:
要求;用C语言编写,获取系统时间 年 月 日 只要 年月日 小时 分钟秒 不要!

并把 获取的 年月日 分别保存在 定义好的三个 int型 变量中!
并显示出来!
回复 zxl0714:
可以详细点 加点说明可以吗?
我看不明啊!!!

#include<time.h>

int main()

time_t timep;

struct tm *p;

time (&timep);

p=gmtime(&timep);

printf("%d\\n",p->tm_sec); /*获取当前秒*/

printf("%d\\n",p->tm_min); /*获取当前分*/

printf("%d\\n",8+p->tm_hour);/*获取当前时,这里获取西方的时间,刚好相差八个小时*/

printf("%d\\n",p->tm_mday);/*获取当前月份日数,范围是1-31*/

printf("%d\\n",1+p->tm_mon);/*获取当前月份,范围是0-11,所以要加1*/

printf("%d\\n",1900+p->tm_year);/*获取当前年份,从1900开始,所以要加1900*/

printf("%d\\n",p->tm_yday); /*从今年1月1日算起至今的天数,范围为0-365*/

拓展资料:

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。

其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

参考资料:C语言_百度百科

参考技术A

#include <stdio.h>

#include <time.h>

int main ()

time_t t

struct tm * lt;    time (&t);//获取Unix时间戳。    

lt = localtime (&t);//转为时间结构。    

printf ( "%d/%d/%d %d:%d:%d\\n",lt->tm_year+1900, lt->tm_mon, lt->tm_mday, lt->tm_hour, lt->tm_min, lt->tm_sec);//输出结果    

return 0;

扩展资料

#include -- 必须的时间函数头文件 

time_t -- 时间类型(time.h 定义是typedef long time_t; 追根溯源,time_t是long)

struct tm -- 时间结构,time.h 定义如下: 

int tm_sec; 

int tm_min; 

int tm_hour; 

int tm_mday; 

int tm_mon; 

int tm_year; 

int tm_wday; 

int tm_yday; 

int tm_isdst; 

time ( &rawtime ); -- 获取时间,以秒计,从1970年1月一日起算,存于rawtime 

localtime ( &rawtime ); -- 转为当地时间,tm 时间结构 

asctime ()-- 转为标准ASCII时间格式: 

星期 月 日 时:分:秒 年

参考资料:百度百科 time函数

参考技术B

#include<time.h>

int main()

time_t timep;

struct tm *p;

time (&timep);

p=gmtime(&timep);

printf("%d\\n",p->tm_sec); /*获取当前秒*/

printf("%d\\n",p->tm_min); /*获取当前分*/

printf("%d\\n",8+p->tm_hour);/*获取当前时,这里获取西方的时间,刚好相差八个小时*/

printf("%d\\n",p->tm_mday);/*获取当前月份日数,范围是1-31*/

printf("%d\\n",1+p->tm_mon);/*获取当前月份,范围是0-11,所以要加1*/

printf("%d\\n",1900+p->tm_year);/*获取当前年份,从1900开始,所以要加1900*/

printf("%d\\n",p->tm_yday); /*从今年1月1日算起至今的天数,范围为0-365*/

扩展链接

使用其他的方法获取系统时间:

注意事项:

struct tm中的tm_year 值为实际年减去1900, 所以输出的时候要是lt->tm_year+1900。

参考技术C

获取系统的时间需要借助time()函数,具体的代码如下:

#include <stdio.h>

#include <time.h> 

struct mydate 

unsigned year;

unsigned month;

unsigned day;

struct mydate Today( ) 

struct mydate today;

time_t rawtime;

struct tm *timeinfo;

time ( &rawtime );

timeinfo = localtime(&rawtime);

today.year = timeinfo->tm_year + 1900;

today.month = timeinfo->tm_mon + 1;

today.day = timeinfo->tm_mday;

return today;

int main( ) 

struct mydate today = Today(  )

printf("%4d/%02d/%02d\\n",today.year,today.month,today.day);

return 0;

扩展资料

使用其他的方法获取系统时间:

#include <stdio.h>

#include <time.h>

int main (  )

time_t t;

struct tm * lt;

time (&t);                       //获取Unix时间戳。

lt = localtime (&t);         //转为时间结构。

printf ( "%d/%d/%d %d:%d:%d\\n",lt->tm_year+1900, lt->tm_mon,,lt->tm_mday,,lt->tm_hour, lt->tm_min,,lt->tm_sec);            //输出结果

return 0;

参考技术D

方法一,#include<time.h>

int main()

time_t timep;

struct tm *p;

time (&timep);

p=gmtime(&timep);

printf("%d\\n",p->tm_sec); /*获取当前秒*/

printf("%d\\n",p->tm_min); /*获取当前分*/

printf("%d\\n",8+p->tm_hour);/*获取当前时,这里获取西方的时间,刚好相差八个小时*/

printf("%d\\n",p->tm_mday);/*获取当前月份日数,范围是1-31*/

printf("%d\\n",1+p->tm_mon);/*获取当前月份,范围是0-11,所以要加1*/

printf("%d\\n",1900+p->tm_year);/*获取当前年份,从1900开始,所以要加1900*/

printf("%d\\n",p->tm_yday); /*从今年1月1日算起至今的天数,范围为0-365*/

方法二.#include <stdio.h>

#include <time.h>

int main ()

time_t t

struct tm * lt;    time (&t);//获取Unix时间戳。    

lt = localtime (&t);//转为时间结构。    

printf ( "%d/%d/%d %d:%d:%d\\n",lt->tm_year+1900, lt->tm_mon, lt->tm_mday, lt->tm_hour, lt->tm_min, lt->tm_sec);//输出结果    

return 0;


扩展资料

#include -- 必须的时间函数头文件 

time_t -- 时间类型(time.h 定义是typedef long time_t; 追根溯源,time_t是long)

struct tm -- 时间结构,time.h 定义如下: 

int tm_sec; 

int tm_min; 

int tm_hour; 

int tm_mday; 

int tm_mon; 

int tm_year; 

int tm_wday; 

int tm_yday; 

int tm_isdst; 

time ( &rawtime ); -- 获取时间,以秒计,从1970年1月一日起算,存于rawtime 

localtime ( &rawtime ); -- 转为当地时间,tm 时间结构 

asctime ()-- 转为标准ASCII时间格式: 

星期 月 日 时:分:秒 年

参考资料来源:百度百科 time函数

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语言获取系统时间的函数