广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >怎么理解C语言中的time函数
  • 398
分享到

怎么理解C语言中的time函数

2023-06-03 08:06:25 398人浏览 泡泡鱼
摘要

本篇内容介绍了“怎么理解C语言中的time函数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!编程中经常用到时间表达及转换的函数,它们都定义在

本篇内容介绍了“怎么理解C语言中的time函数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

编程中经常用到时间表达及转换的函数,它们都定义在 time.h 库函数中,time函数的基本形式是time(),这个函数的原型是time_t time(time_t *time)

几个时间概念:

1:Coordinated Universal Time(UTC):

协调世界时,又称世界标准时间,也即格林威治标准时间(Greenwich Mean Time,GMT),中国内地的时间与UTC得时差为+8,也即UTC+8,美国为UTC-5。

2:Calendar Time:

日历时间,是用"从一个标准时间点到此时的时间经过的秒数"来表示的时间。标准时间点对不同编译器可能会不同,但对一个编译系统来说,标准时间是不变的。一般是表示距离UTC时间 1970-01-01 00:00:00的秒数。

3:epoch:

时间点。在标准C/C++中是一个整数,用此时的时间和标准时间点相差的秒数(即日历时间)来表示。

4:clock tick:

时钟计时单元(而不叫做时钟滴答次数),一个时钟计时单元的时间长短是由cpu控制的,一个clock tick不是cpu的一个时钟周期,而是c/c++的一个基本计时单位。

time.h 的定义

time.h 头文件定义了四个变量类型、两个宏和各种操作日期和时间的函数。

4个变量

size_t是无符号整数类型,它是 sizeof 关键字的结果。
clock_t这是一个适合存储处理器时间的类型,类型为unsigned long
time_t这是一个适合存储日历时间类型。
struct tm这是一个用来保存时间和日期的结构。

tm 结构的定义如下:

struct tm{   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;       };

两个宏

NULL这个宏是一个空指针常量的值。
CLOCKS_PER_SEC这个宏表示每秒的处理器时钟个数。用于将clock()函数的结果转化为以秒为单位的量,这个量的具体值是与操作系统相关的,通常为1000。

库函数

1:clock函数

函数原型: clock_t clock(void)

函数返回:返回clock函数执行起(一般为程序的开头),处理器时钟所使用的时间。

函数功能:用来计算程序或程序的某一段的执行时间。

实例

#include#includeint main(){    clock_t start_t,finish_t;    double total_t = 0;    int i = 0;    start_t = clock();    for(;i<100000;++i)    {        //do someting;    }    finish_t = clock();    total_t = (double)(finish_t - start_t) / CLOCKS_PER_SEC;//将时间转换为秒    printf("CPU 占用的总时间:%f\n", total_t);    return 0;}

2:time函数

函数原型: time_t time(time_t *timer)

参数说明: timer=NULL时得到当前日历时间(从1970-01-01 00:00:00到现在的秒数),timer=时间数值时,用于设置日历时间,time_t是一个unsigned long类型。如果 timer不为空,则返回值也存储在变量 timer中。

函数功能: 得到当前日历时间或者设置日历时间

函数返回: 当前日历时间

实例

#include#includeint main (){  time_t seconds;  seconds = time(NULL);  printf("自 1970-01-01 起的小时数 = %ld\n", seconds/3600);  return(0);}

3:asctime函数

函数原型: char* asctime(struct tm * ptr)

函数功能:将结构struct tm * ptr所表示的时间以字符串表示

函数返回: 返回的时间字符串格式为:星期,月,日,小时:分:秒,年

参数说明: 结构指针ptr应通过函数localtime()或gmtime()得到

实例

#include#includeint main(){   struct tm t;//更多情况下是通过localtime函数及gmtime函数获得tm结构   t.tm_sec    = 10;   t.tm_min    = 10;   t.tm_hour   = 6;   t.tm_mday   = 25;   t.tm_mon    = 2;   t.tm_year   = 89;   t.tm_wday   = 6;   printf("%s\n",asctime(&t));   return(0);}

4:localtime函数

函数原型: struct tm *localtime(const time_t *timer)

函数功能: 使用 timer 的值来填充 tm 结构。timer 的值被分解为 tm 结构,并用本地时区表示。

函数返回: 以tm结构表达的时间

实例

#include#includeint main (){   time_t timer;   struct tm *Now;   time( &timer );   Now = localtime( &timer );   printf("当前的本地时间和日期:%s", asctime(Now));   return(0);}

5:ctime函数

函数原型: char *ctime(const time_t * timer)

函数功能: 将日历时间参数timer转换为一个表示本地当前时间的字符串

函数返回: 返回字符串格式:星期,月,日,小时:分:秒,年

参数说明: timer参数应由函数time获得,其等价于 astime( localtime(timer) )

实例

#include#includeint main (){   time_t curtime;   time(&curtime);   printf("当前时间 = %s", ctime(&curtime));   return(0);}

6:difftime函数

函数原型: double difftime(time_t time2, time_t time1)

函数功能: 得到两次机器时间差,单位为秒

函数返回: 时间差,单位为秒

参数说明: time1,time2分别表示两个不同的机器时间,该参数应使用time函数获得

实例

#include#includeint main()  {      time_t first,second;      time(&first);      sleep(2000);      time(&second);    printf("The difference is: %f seconds",difftime(second,first));      return 0;  }

7:gmtime函数

函数原型: struct tm *gmtime(time_t *timer)

函数功能: 得到以结构tm表示的时间信息,并用格林威治标准时间表示

函数返回: 以结构tm表示的时间信息指针

参数说明: timer用函数time()得到的时间信息

实例

#include#include#define BST (+1)#define CCT (+8)int main (){   time_t rawtime;   struct tm *info;   time(&rawtime);      info = gmtime(&rawtime );   printf("当前的世界时钟:\n");   printf("伦敦:%2d:%02d\n", (info->tm_hour+BST)%24, info->tm_min);   printf("中国:%2d:%02d\n", (info->tm_hour+CCT)%24, info->tm_min);   return(0);}

8:mktime函数

函数原型:time_t mktime(struct tm *timeptr)

函数功能:把 timeptr 所指向的结构转换为一个依据本地时区的 time_t 值

函数返回:该函数返回一个 time_t 值,该值对应于以参数传递的日历时间。如果发生错误,则返回 -1 值。

实例

#include#includeint main (){   int ret;   struct tm info;   char buffer[80];   info.tm_year = 2001 - 1900;   info.tm_mon = 7 - 1;   info.tm_mday = 4;   info.tm_hour = 0;   info.tm_min = 0;   info.tm_sec = 1;   info.tm_isdst = -1;   ret = mktime(&info);   if( ret == -1 )   {       printf("错误:不能使用 mktime 转换时间。\n");   }   else   {      strftime(buffer, sizeof(buffer), "%c", &info );      print(buffer);   }   return(0);}

9:strftime函数

函数原型: size_t strftime( char *strDest, size_t maxsize, const char *fORMat, const struct tm *timeptr);

函数功能: 根据format指向字符串中格式命令把timeptr中保存的时间信息放在strDest指向的字符串中,最多向 strDest中存放maxsize个字符。

参数说明: 转化结果存在s中,最多maxsize个字符写到s中

函数返回: 该函数返回向strDest指向的字符串中放置的字符数(不包括'\0'),如果字符数多于maxsize,函数返回0。

实例

  #include#includeint main (){   time_t rawtime;   struct tm *info;   char buffer[80];   time( &rawtime );   info = localtime( &rawtime );   strftime(buffer,80,"%Y%m%e_%H%M%S", info);//以年月日_时分秒的形式表示当前时间   printf("%s\n", buffer );   return(0);}

“怎么理解C语言中的time函数”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 怎么理解C语言中的time函数

本文链接: https://www.lsjlt.com/news/233807.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么理解C语言中的time函数
    本篇内容介绍了“怎么理解C语言中的time函数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!编程中经常用到时间表达及转换的函数,它们都定义在...
    99+
    2023-06-03
  • c语言中time函数如何使用
    在C语言中,可以使用time函数获取当前时间的秒数。使用time函数需要包含头文件。time函数的原型如下:```ctime_t t...
    99+
    2023-08-14
    c语言 time
  • 怎么理解C语言的函数栈帧
    本篇内容介绍了“怎么理解C语言的函数栈帧”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、函数栈帧的创建1.寄存器一般来说,计算机中的寄存器...
    99+
    2023-06-25
  • C语言中的时间函数clock()和time()你都了解吗
    目录clock函数time函数总结时间函数在编写代码的时候会经常用到,下面就来总结一下clock和time函数的用法,函数原型如下: clock_t __cdecl clock(...
    99+
    2022-11-13
  • C语言中的时间函数clock()和time()有什么用
    小编给大家分享一下C语言中的时间函数clock()和time()有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!时间函数在编写代码的时候会经常用到,下面就来...
    99+
    2023-06-29
  • C语言中函数怎么用
    这篇文章主要为大家展示了“C语言中函数怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C语言中函数怎么用”这篇文章吧。函数函数定义百度百科对函数的定义:子程序在计算机科学中,子程序是一个大型...
    99+
    2023-06-25
  • 详细理解函C语言的函数栈帧
    目录一、函数栈帧的创建1.寄存器2.函数栈帧3.函数中调用函数二、函数栈帧的销毁总结一、函数栈帧的创建 1.寄存器 一般来说,计算机中的寄存器有六种 分别是:eax, ebx, e...
    99+
    2022-11-12
  • go语言中time包的函数有哪些
    这篇“go语言中time包的函数有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“go语言中time包的函数有哪些”文章吧...
    99+
    2023-07-06
  • c语言中isalpha函数怎么用
    在C语言中,isalpha函数用于检查一个字符是否为字母。该函数的原型为: #include int isalpha(int c)...
    99+
    2023-10-23
    c语言
  • C语言中sizeof函数怎么用
    这篇文章给大家分享的是有关C语言中sizeof函数怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一.sizeof 函数简介在 C 语言中,char 字符串也是一种非常重要的数据类型,我们除了使用 sizeo...
    99+
    2023-06-25
  • C语言中scanf函数详解
    scanf函数是C语言中用于从标准输入流中读取数据的函数。它的原型如下:```cint scanf(const char *form...
    99+
    2023-09-13
    C语言
  • C语言中sizeof函数使用的坑怎么解决
    这篇文章主要介绍“C语言中sizeof函数使用的坑怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C语言中sizeof函数使用的坑怎么解决”文章能帮助大家解决问题。先来看这样一段代码int&n...
    99+
    2023-06-29
  • c语言深入理解函数的递归
    前言:  首先,递归是什么,递归就是在定义函数时,然后在函数里调用这个函数,通俗讲,就是函数自己调用自己。那么递归的好处是什么呢?它能够将复杂的问题,用少量的代码来表示,增加了代码的...
    99+
    2022-11-13
  • go语言中time包的各种函数总结
    目录前言时间类型Location和time zone时间间隔AddsubBeforeAfter定时器时间格式化时间格式化的时间总结前言 在我们开发的过程中,每个项目都需要时间这一类的...
    99+
    2023-05-16
    golang time包 go语言 time go语言time包
  • c语言的str函数怎么用
    这篇文章主要讲解了“c语言的str函数怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“c语言的str函数怎么用”吧!strlen:用于求字符串长度,从首字符开始,到'\0'...
    99+
    2023-06-29
  • C语言中的getchar函数怎么使用
    本文小编为大家详细介绍“C语言中的getchar函数怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言中的getchar函数怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。首先要明确getcha...
    99+
    2023-07-05
  • C语言中的strcpy函数怎么使用
    这篇“C语言中的strcpy函数怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言中的strcpy函数怎么使用”文...
    99+
    2023-06-16
  • C语言中的strlen函数怎么使用
    今天小编给大家分享一下C语言中的strlen函数怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。C语言中的字符串函数有...
    99+
    2023-06-16
  • C语言PlaySound函数怎么用
    这篇文章主要为大家展示了“C语言PlaySound函数怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C语言PlaySound函数怎么用”这篇文章吧。1用法PlaySound是windows...
    99+
    2023-06-21
  • c语言中fabs函数怎么使用
    在C语言中,fabs函数用于计算浮点数的绝对值。它的函数原型如下:cdouble fabs(double x);fabs函数接受一个...
    99+
    2023-10-20
    c语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作