Linux system program-时间

44 篇文章 1 订阅
24 篇文章 1 订阅
获取时间和日期

#include <time.h>
time_t time(time_t *t);

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

struct timeval{
int tv_sec;
int tv_usec;
};

struct timezone{
int tz_minutesswest;
int tz_dsttime;
};

timerclear(struct timeval*);
timerisset(struct timeval*);
timercmp(struct timeval *t9,struct timeval *t1,operator);
timercmp(struct timeval *t0,struct timeval *t1,struct timeval*result);
timeradd(struct timeval *t0,struct timeval *t1,struct timeval*result);
timersub(struct timeval *t0,struct timeval *t1,struct timeval*result);

struct tm{
int tm_sec;//一分钟内经过的秒数,0-61,处理闰秒
int tm_min;//一小时内经过的分钟数,0-59
int tm_hour;//经过的小时数,0-23
int tm_mday;//经过的天数,1-31,唯一不能为零
int tm_mon;//经过的月数,0-11
int tm_year;//1990后所经过的年数
int tm_wday;//一星期中所经过的天数,从周天算起
int tm_yday;//一年中所经过的天数
int tm_isdst;//是否夏令时制,0--->不设置
long int tm_gmtoff;//指定日期UTC东部的正秒数、西部的负秒数
const char *tm_zone;//保存当前时区名字
};

时间的转换、格式化、解析

struct tm * gmtime(const time_t *t);//格林尼制时间简称,time_t---->UTC时间结构tm
struct tm *localtime(const time_t *t);//使用本地时间格式表示的结构
time_t mktime(struct tm *tp);//tm类型---->time_t类型
time_t timegm(struct tm *tp);//tm类型---->time_t类型,但是tm为UTC时间

double difftime(time_t time1, time_t time0);//两个微秒时间的差异

char *asctime(struct tm *tp);//时间值 ---->标准UNIX日期字符串
char *ctime(time_t *t);//时间值----->标准UNIX日期字符串,两者返回的字符长均为26

size_t strftime(char *s, size_t size, char *fmt, struct tm *tp);
size_t *strptime(char *s, char *fmt, struct tm *tp);


计时器

unsigned int sleep(unsigned int seconds);
void usleep(unsigned long usec);

int select(0, NULL, NULL, NULL, timeval tv);
int nanosleep(struct timespec *req, struct timespec *rem);

间隔计时器
ITMIER_REAL    //不管进程是否在执行,实时计算进程执行时间,并产生SIG_ALARM信号
ITIMER_VIRTUAL   //进程执行时,计算进程执行时间,并产生SIG_VTALARM信号
ITIME_PROF  //计算进程执行的时间,包括内核执行系统调用时间,但不包括处理中断的时间,并产生SIG_PROF信号

struct itimerval{
struct timeval it_interval;//两信号之间的时间
struct timeval it_value;//直到下一个信号发出时所剩的时间
};

int getitimer(int which, struct itimerval *val);
int setitimer(int which, struct itimerval *new, struct itimerval *old);














  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值