time function

上传人:飞*** 文档编号:4925554 上传时间:2017-08-27 格式:DOC 页数:13 大小:90KB
返回 下载 相关 举报
time function_第1页
第1页 / 共13页
time function_第2页
第2页 / 共13页
time function_第3页
第3页 / 共13页
time function_第4页
第4页 / 共13页
time function_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《time function》由会员分享,可在线阅读,更多相关《time function(13页珍藏版)》请在金锄头文库上搜索。

1、asctime(将时间和日期以字符串格式表示) 相关函数 time,ctime,gmtime,localtime表头文件 #include定义函数 char * asctime(const struct tm * timeptr);函数说明 asctime()将参数 timeptr所指的 tm结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回。此函数已经由时区转换成当地时间,字符串格式为:“Wed Jun 30 21:49:08 1993n”返回值 若再调用相关的时间日期函数,此字符串可能会被破坏。此函数与 ctime不同处在于传入的参数是不同的结构。附加说明 返回

2、一字符串表示目前当地的时间日期。范例 #include main()time_t timep;time (&timep);printf(“%s”,asctime(gmtime(&timep);执行 Sat Oct 28 02:10:06 2000ctime(将时间和日期以字符串格式表示) 相关函数 time,asctime,gmtime,localtime表头文件 #include定义函数 char *ctime(const time_t *timep);函数说明 ctime()将参数 timep所指的 time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回

3、。此函数已经由时区转换成当地时间,字符串格式为“Wed Jun 30 21 :49 :08 1993n”。若再调用相关的时间日期函数,此字符串可能会被破坏。返回值 返回一字符串表示目前当地的时间日期。范例 #includemain()time_t timep;time (&timep);printf(“%s”,ctime(&timep);执行 Sat Oct 28 10 : 12 : 05 2000gettimeofday(取得目前的时间) 相关函数 time,ctime,ftime,settimeofday表头文件 #include #include 定义函数 int gettimeofda

4、y ( struct timeval * tv , struct timezone * tz )函数说明 gettimeofday()会把目前的时间有 tv所指的结构返回,当地时区的信息则放到 tz所指的结构中。timeval结构定义为:struct timevallong tv_sec; /*秒*/long tv_usec; /*微秒*/;timezone 结构定义为:struct timezoneint tz_minuteswest; /*和 Greenwich 时间差了多少分钟*/int tz_dsttime; /*日光节约时间的状态*/;上述两个结构都定义在/usr/include/s

5、ys/time.h。tz_dsttime 所代表的状态如下DST_NONE /*不使用*/DST_USA /*美国*/DST_AUST /*澳洲*/DST_WET /*西欧*/DST_MET /*中欧*/DST_EET /*东欧*/DST_CAN /*加拿大*/DST_GB /*大不列颠*/DST_RUM /*罗马尼亚*/DST_TUR /*土耳其*/DST_AUSTALT /*澳洲(1986 年以后)*/返回值 成功则返回 0,失败返回1,错误代码存于 errno。附加说明 EFAULT指针tv和 tz所指的内存空间超出存取权限。范例 #include#includemain()struct

6、 timeval tv;struct timezone tz;gettimeofday (&tv , &tz);printf(“tv_sec; %dn”, tv,.tv_sec) ;printf(“tv_usec; %dn”,tv.tv_usec);printf(“tz_minuteswest; %dn”, tz.tz_minuteswest);printf(“tz_dsttime, %dn”,tz.tz_dsttime);执行 tv_sec: 974857339tv_usec:136996tz_minuteswest:-540tz_dsttime:0gmtime(取得目前时间和日期) 相关函

7、数 time,asctime,ctime,localtime表头文件 #include定义函数 struct tm*gmtime(const time_t*timep);函数说明 gmtime()将参数 timep 所指的 time_t 结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构 tm返回。结构 tm的定义为struct tmint 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;int tm_sec 代表目前秒数

8、,正常范围为 0-59,但允许至 61秒int tm_min 代表目前分数,范围 0-59int tm_hour 从午夜算起的时数,范围为 0-23int tm_mday 目前月份的日数,范围 01-31int tm_mon 代表目前月份,从一月算起,范围从 0-11int tm_year 从 1900 年算起至今的年数int tm_wday 一星期的日数,从星期一算起,范围为 0-6int tm_yday 从今年 1月 1日算起至今的天数,范围为 0-365int tm_isdst 日光节约时间的旗标此函数返回的时间日期未经时区转换,而是 UTC时间。返回值 返回结构 tm代表目前 UTC

9、时间范例 #include main()char *wday=Sun,Mon,Tue,Wed,Thu,Fri,Sat;time_t timep;struct tm *p;time(&timep);p=gmtime(&timep);printf(“%d%d%d”,(1900+p-tm_year), (1+p-tm_mon),p-tm_mday);printf(“%s%d;%d;%dn”, wdayp-tm_wday, p-tm_hour, p-tm_min, p-tm_sec);执行 2000/10/28 Sat 8:15:38localtime(取得当地目前时间和日期) 相关函数 time,

10、asctime, ctime, gmtime表头文件 #include定义函数 struct tm *localtime(const time_t * timep);函数说明 localtime()将参数 timep所指的 time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构 tm返回。结构 tm的定义请参考gmtime()。此函数返回的时间日期已经转换成当地时区。返回值 返回结构 tm代表目前的当地时间。范例 #includemain()char *wday=“Sun”,”Mon”,”Tue”,”Wed”,”Thu”,”Fri”,”Sat”;time_t time

11、p;struct tm *p;time(&timep);p=localtime(&timep); /*取得当地时间*/printf (“%d%d%d ”, (1900+p-tm_year),( l+p-tm_mon), p-tm_mday);printf(“%s%d:%d:%dn”, wdayp-tm_wday,p-tm_hour, p-tm_min, p-tm_sec);执行 2000/10/28 Sat 11:12:22mktime(将时间结构数据转换成经过的秒数) 相关函数 time,asctime,gmtime,localtime表头文件 #include定义函数 time_t mkt

12、ime(strcut tm * timeptr);函数说明 mktime()用来将参数 timeptr所指的 tm结构数据转换成从公元 1970年 1月 1日 0时 0分 0 秒算起至今的 UTC时间所经过的秒数。返回值 返回经过的秒数。范例 /* 用 time()取得时间(秒数),利用 localtime()转换成 struct tm 再利用 mktine()将 struct tm转换成原来的秒数*/#includemain()time_t timep;strcut tm *p;time(&timep);printf(“time() : %d n”,timep);p=localtime(&t

13、imep);timep = mktime(p);printf(“time()-localtime()-mktime():%dn”,timep);执行 time():974943297time()-localtime()-mktime():974943297settimeofday(设置目前时间) 相关函数 time,ctime,ftime,gettimeofday表头文件 #include#include定义函数 int settimeofday ( const struct timeval *tv,const struct timezone *tz);函数说明 settimeofday()会

14、把目前时间设成由 tv所指的结构信息,当地时区信息则设成 tz所指的结构。详细的说明请参考 gettimeofday()。注意,只有 root权限才能使用此函数修改时间。返回值 成功则返回 0,失败返回1,错误代码存于 errno。错误代码 EPERM 并非由 root权限调用 settimeofday(),权限不够。EINVAL 时区或某个数据是不正确的,无法正确设置时间。time(取得目前的时间) 相关函数 ctime,ftime,gettimeofday表头文件 #include定义函数 time_t time(time_t *t);函数说明 此函数会返回从公元 1970年 1月 1日的

15、 UTC时间从 0时 0分 0秒算起到现在所经过的秒数。如果 t 并非空指针的话,此函数也会将返回值存到 t指针所指的内存。返回值 成功则返回秒数,失败则返回(time_t)-1)值,错误原因存于 errno中。范例 #includemian()int seconds= time(time_t*)NULL);printf(“%dn”,seconds);执行 9.73E+08摘要:本文从介绍基础概念入手,探讨了在 C/C+中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了 time.h 头文件中声明的各种函数和数据

16、结构的详细使用方法。1.概念通过学习许多 C/C+库,你可以有很多操作、使用时间的方法。但在这之前你需要了解一些“时间”和“ 日期”的概念,主要有以下几个(其中最重要的是日历时间和始终计时单元):Coordinated Universal Time(UTC):协调世界时,又称为世界标准时间,也就是大家所熟知的格林威治标准时间(Greenwich Mean Time,GMT) 。比如,中国内地的时间与UTC 的时差为+8,也就是 UTC+8。美国是 UTC-5。Calendar Time:日历时间,是用“从一个标准时间点到此时的时间经过的秒数”来表示的时间。这个标准时间点对不同的编译器来说会有所不同,但对一个编译系统来说,这个标准时间点是不变的,该编译系统中的时间对应的日历时间都通过该标准时间点来衡量,所以可以说日历时间是“相对时间”,但是无论你在哪一个时区,在

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号