Linux时间操作

​ UNIX操作系统根据计算机产生的年代把1970年1月1日作为UNIX纪元时间,将从该时间起的秒数用一个整数存放。

一、time_t别名

​ time_t用于表示时间类型,它是一个long类型的别名,在<time.h>文件中定义,表示从1970年1月1日0时0分0秒到现在的秒数。

​ typedef long time_t;

二、time()库函数

​ 包含头文件:<time.h>

​ 声明:time_t time(time_t *tloc);

​ 两种调用方法:

​ time_t now = time(0);

​ time_t now; time(&now);

三、tm结构体

​ tm结构体在<time.h>中声明:

struct tm
{
    int tm_year;  //实际年份减去1900
    int tm_mon;   //取0~11
    int tm_mday;  //日期,取1~31
    int tm_hour;  //时,取0~23
    int tm_min;   //分,取0~59
    int tm_sec;   //秒,取0~59
    int tm_wday;  //星期,取0~6
    int tm_yday;  //从1月1日算起本年的天数,取0~365
    int tm_isdst; //夏令时标识符,意义不大
}

四、localtime()与mktime()库函数

​ 包含头文件<time.h>

​ localtime()用于吧time_t表示的时间转换为tm结构体表示的时间,maketime()相反。

​ localtime()函数不是线程安全的,localtime_r()是线程安全的。

​ struct tm *localtime(const time_t *timep);

​ struct tm *localtime_r(const time_t *timep, struct tm *result);

​ time_t mktime(struct tm *tm);

五、gettimeofday()函数

​ 用于获取1970年1月1日到现在的秒数和当前秒中已逝去的微秒数

​ 包含头文件:<sys/time.h>

​ int gettimeofday(struct timeval *tv, struct timezone *tz);

​ struct timeval{

​ time_t tv_sec;

​ suseconds_t tv_usec;

​ }

​ struct timezone{

​ int tz_minuteswest;

​ int tz_dsttime;

​ }

六、程序睡眠

​ 包含头文件:<unistd.h>

​ unsigned int sleep(unsigned int seconds);

​ int usleep(useconds_t used);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值