linux调用系统时间

linux调用系统时间

ID:43325059

大小:75.50 KB

页数:10页

时间:2019-09-30

linux调用系统时间_第1页
linux调用系统时间_第2页
linux调用系统时间_第3页
linux调用系统时间_第4页
linux调用系统时间_第5页
资源描述:

《linux调用系统时间》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1.时间表示在程序当中,我们经常要输出系统当前的时间,比如我们使用date命令的输出结果。这个时候我们可以使用下面两个函数time_ttime(time_t*tloc);〃时间精度为秒char*ctime(consttime_t*clock);//将秒数转化为字符串timeP^

2、数返回从1970年1月1日0点以来的秒数[注意,此函数返回的时间精度是“秒7存储在time」结构之中。不过这个函数的返回值对于我们來说没有什么实际意义。这个时候我们使用第二个函数将秒数转化为字符串。这个函数的返回类型是固定的:一个可能值为。thudec714:58:592000这个字符串

3、的长度是固定的为26类型实际上是由typedef定义的,并不是一个新类型,对于多数系统来说,time.t就是long,具体自己使用的系统是由哪种类型派生的,可以在time.h头文件里用time」作为条件查一查就知道了。类似的,size」也是同样的道理。另外:structtm*gmlime(const*timer);gmtimeO函数是将日历时间转化为世界标准时间(即格林尼治时间),并返回一个Un结构体來保存这个时间structtm*localtime(consttime_t*tinier);localtime()函数是将H历吋间转化为本地吋间示例代码:#incl

4、ude〃注:不是vsys/time.h>否则编译不报错,但运行报段错误#includeintmain()time_tnow;now=time(NULL);printf("%sn,ctime(&now));return0;输出:TueJun2616:29:182007指定时间的力法:#include"time.h"#include"stdio.h"include“stdlib.h”intmain(void){structtmt;〃定义tm吋间结构,用来存储吋间格式的数据信息time_tt_of_day;〃定义时间结构t.tm_ye

5、ai-=2006-1900;//以1900年为标准计算时间t.tm_mon=6;〃为结构体成员赋值t.tm_mday=1;t.tm_hour=0;t.tm_min=0;t.tm_sec=l;t.tm_isdst=O;t_of_day=mktime(&t);//使用mktime()函数将用tm结构表示的时间转化为日历时间:型变量。〃其函数原型如下:time_tmktime(structtm*timeptr);//ctimeO函数(参数为time」结构)将时间以固定的格式显示出來,返回值是ch屮型的字符串。return0;其中在标准C/C++中,我们川通过tm结构来

6、获得日期和时间,tm结构在time.h中的定义如下:structtm{inttm_sec;inttm_min;inttm_hour;inttm_mday;inttm_mon;inttm_year;inttm_wday;inttm_yday;inttm_isdst;1.时间的测量有时候我们要计算程序执行的时I'可。比如我们要对算法进行时间分析。这个时候可以使用下面这个函数。#includeintgetlimeofday(structlimeval*tv,structtimezone*tz);〃时间精度为微秒struttimeval{long

7、tv_sec;longtv_usec;};gettimeofday将时间保存在结构tv之中,struttimevalgivesthenumberofsecondsandmicrosecondssincetheEpoch,(00:00:00UTC,January1,1970),measuredinmicroseconds,tz(即timezone,很少用到)一般我们使用null来代替。示例代码:#include//forgettimeofdayO#includevoidfunction(){unsignedintij;do

8、ubley;for(i=0;i<4000;i++)for(j=0;j<40000;j++){}}main(){structtimevaltpstartjpend;floattiineuse;gettimeofday(&tpstart,O);function();gettimeofdayf&lpend,0);timeuse=10()0()0()*(tpend.tv_sec-tpstart.tv_sec)4-〃注意,秒的读数和微秒的读数都应计算在内tpend.tv_usec-tpstart.tv_usec;timeuse/=1000000;printf(Husedt

9、ime:%fM,ti

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。