C语言的时间函数(1)gettimeofday,timeval,timezone

来源:互联网 发布:联想授权数据恢复中心 编辑:程序博客网 时间:2024/05/16 13:01

gettimeofday是函数,其头文件和声明如下

#include <sys/time.h>

int gettimeofday(structtimeval*tv, struct timezone *tz);

其参数tv是保存获取时间结果的结构体,参数tz用于保存时区结果timezone 参数若不使用则传入NULL即可。

 

下面是timeval和timezone的结构体说明:

struct timezone{

int tz_minuteswest;/*格林威治时间往西方的时差*/

int tz_dsttime;/*DST 时间的修正方式*/

}

而结构体timeval的定义为:

struct timeval{

long int tv_sec; // 秒数

long int tv_usec; // 微秒数

}

其实gettimeofday()函数是用来获取时间的,而上面的两个结构体是通过gettimeofday函数获取秒和微秒的

例如1:不需要时区的

#include <stdio.h>#include <sys/time.h>int main(void){    struct timeval tx;    gettimeofday(&tx,NULL);    printf("获取的秒时间 = %ld  获取的微秒时间 =%ld\n",tx.tv_sec,tx.tv_usec);    return 0;}

运行的结果是:获取的秒时间 = 1514205194  获取的微秒时间 =756161


在了解第二个参数时首先要知道时区的意思。

int tz_minuteswest;//与格林尼治时间差,我们为东八区,即北京时间比该时间早八个小时,即当我们的时间是早上八点的时候,格林尼治时间(即世界时)为0点。与格林时间的差为-8小时(个人认为是因为选择编译器或者操作操作系统时选择的是北京时间,所以格林尼治时间相对于北京时间为-8小时,个人猜测,有待考证)。

int tz_dsttime;//DST 时间的修正方式

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所指的内存空间超出存取权限。

举例2:有时区的

#include <stdio.h>#include <sys/time.h>int main(void){    struct timeval tx;    struct timezone tz;    gettimeofday(&tx,&tz);    printf("获取的秒时间 = %ld  获取的微秒时间 =%ld\n",tx.tv_sec,tx.tv_usec);    printf("与格林尼治的时差 = %ld  DST矫正时差 =%ld\n",tz.tz_minuteswest,tz.tz_dsttime);    //tz.tz_minuteswest根据参数名称知道单位是分钟,我们可以转换成转换一下小时    printf("格林尼治相对于北京时间 time =%d\n",tz.tz_minuteswest/60);    return 0;}
结果:

获取的秒时间 = 1514207086  获取的微秒时间 =416064

与格林尼治的时差 = -480  DST矫正时差 =0

格林尼治相对于北京时间 time =-8

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 穿高跟鞋溢出来液体 溢出by沈糯全文阅读 兽根肉刺溢出 梦见浇地水很大溢出来 薪金溢1号 薪金溢1号利弊 左溢的qq号 薪金溢1号上当了 婴儿溢奶 溢奶的原因 女主播娜娜溢奶回放 宝宝溢奶 肚兜溢奶 新生儿溢奶频繁原因 奶水少还溢奶怎么回事 炊大皇溢彩奶锅 奶不多还溢奶什么原因 溢奶是什么意思 为什么奶少还会溢奶 奶水少还溢奶 奶水不够还溢奶怎么回事 乳房溢奶怎么办 溢奶是什么原因 刚满月的宝宝溢奶怎么办 奶水不足还老溢奶是怎么回事 为什么奶水不足还溢奶 有一个片子边办事边溢奶 奶水不够为什么还溢奶 奶水不够却老是溢奶 为什么奶水少还会溢奶 流光溢彩的意思 宏江溢彩年华 流光溢彩的近义词 流光溢彩电视 溢彩年华 溢彩 油溢性皮炎 炸东西油起沫溢锅 油溢脂性脱发 溢脂性脱发控油 油溢性脱发