C程序中对时间的处理——time库函数详解.docx

C程序中对时间的处理——time库函数详解.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序中对时间的处理——time库函数详解

C程序中对时间的处理——time库函数详解包含文件:sys/time.h time.h一、在C语言中有time_t, tm, timeval等几种类型的时间1、time_ttime_t实际上是长整数类型,定义为:typedef long time_t; /* time value */?2、timevaltimeval是一个结构体,在time.h中定义为:struct timeval{?????__time_t tv_sec;??????????????? /* Seconds. */?????__suseconds_t tv_usec; ?????/* Microseconds. */};其中,tv_sec为Epoch(1970-1-1零点零分)到创建struct timeval时的秒数,tv_usec为微秒数,即秒后面的零头。?3、tmtm是一个结构体,定义为:struct tm{? ? int tm_sec; ? ? ?/*代表目前秒数,正常范围为0-59,但允许至61秒?*/? ? int tm_min; ? ? /*代表目前分数,范围0-59*/? ? int tm_hour; ? /*?从午夜算起的时数,范围为0-23?*/? ? int tm_mday; ?/*?目前月份的日数,范围01-31?*/? ? int tm_mon; ? /*代表目前月份,从一月算起,范围从0-11?*/? ? int tm_year; ? /*从1900 年算起至今的年数*/? ? int tm_wday; ? /*?一星期的日数,从星期一算起,范围为0-6。*/? ? int tm_yday; ? /* Days in year.[0-365] */? ? int tm_isdst; ? /*日光节约时间的旗标DST. [-1/0/1]*/};?二、具体操作函数time()函数  原 型:time_t time(time_t * timer)  功 能:?获取当前的系统时间,返回的结果是一个time_t类型,其实就是一个大整数,其值表示从CUT(Coordinated Universal Time)时间1970年1月1日00:00:00(称为UNIX系统的Epoch时间)到当前时刻的秒数。然后调用localtime将time_t所表示的CUT时间转换为本地时间(我们是+8区,比CUT多8个小时)并转成struct tm类型,该类型的各数据成员分别表示年月日时分秒。 程序例1:  time函数获得日历时间。日历时间,是用“从一个标准时间点到此时的时间经过的秒数”来表示的时间。这个标准时间点对不同的编译器来说会有所不同,但对一个编译系统来说,这个标准时间点是不变的,该编译系统中的时间对应的日历时间都通过该标准时间点来衡量,所以可以说日历时间是“相对时间”,但是无论你在哪一个时区,在同一时刻对同一个标准时间点来说,日历时间都是一样的。  #include time.h  #include stdio.h  #include dos.h  int main(void)  {  time_t t; t = time(NULL);  printf(The number of seconds since January 1, 1970 is %ld,t);  return 0;  } 程序例2:  //time函数也常用于随机数的生成,用日历时间作为种子。  #include stdio.h  #include time.h  #includestdlib.h  int main(void)  {  int i;  srand((unsigned) time(NULL));  printf(ten random numbers from 0 to 99\n\n);  for(i=0;i10;i++)   printf(%d\n,rand()%100);  return 0;  } 程序例3:  用time()函数结合其他函数(如:localtime、gmtime、asctime、ctime)可以获得当前系统时间或是标准时间。  #include stdio.h  #include stddef.h  #include time.h  int main(void)  {  time_t timer;//time_t就是long int 类型  struct tm *tblock;  timer = time(NULL);//这一句也可以改成time(timer);  tblock = localtime(timer);  printf(Local time is: %s\n,asctime(tblock));  return 0;  }?gmti

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档