加入收藏 | 设为首页 | 会员中心 | 我要投稿 成都站长网 (https://www.028zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

Unix中的时间整理

发布时间:2022-09-30 14:01:15 所属栏目:Unix 来源:互联网
导读: 历史上,Unix系统中使用过两种不同类型的时间值:
1、日历时间。该值是自UTC(或格林尼治标准时间)以来经历过的描述累计值。对应的系统基本数据类型是time_t.
2、进程时间。又称CPU时间,

历史上,Unix系统中使用过两种不同类型的时间值:

1、日历时间。该值是自UTC(或格林尼治标准时间)以来经历过的描述累计值。对应的系统基本数据类型是time_t.

2、进程时间。又称CPU时间,用以度量进程使用的中央处理器资源。用时钟滴答数来表示,对应的系统基本数据类型是clock_t.

另外,unix系统中还定义了以下几种表示时间的数据类型:

struct tm : 格式化的分解的时间信息,具有多个字段,包括秒、分、时、日期、月份、年份、星期、一年中的第几天等。

struct timeval : 由秒和微秒两个字段unix系统时间,共同表示一个时间,最高精度时微秒。

struct timespec : 有秒和纳秒两个字段,分别以两种精度表示时间。

表示时间的基本数据类型time_t 、clock_t 和其它几种表示时间的结构体之间可以通过如下的系统调用函数联系起来:

time_t?time(time_t?*t);

int?clock_gettime(clockid_t?clk_id,?struct?timespec?*tp);
int?gettimeofday(struct?timeval?*tv,?struct?timezone?*tz);

初次之外,还有如下一些库函数可以使用:

transform date and time to broken-down time or ASCII

?#include?
???????char?*asctime(const?struct?tm?*tm);
???????char?*asctime_r(const?struct?tm?*tm,?char?*buf);
???????char?*ctime(const?time_t?*timep);
???????char?*ctime_r(const?time_t?*timep,?char?*buf);
???????struct?tm?*gmtime(const?time_t?*timep);
???????struct?tm?*gmtime_r(const?time_t?*timep,?struct?tm?*result);
???????struct?tm?*localtime(const?time_t?*timep);
???????struct?tm?*localtime_r(const?time_t?*timep,?struct?tm?*result);
???????time_t?mktime(struct?tm?*tm);

使用场合:

1.文件的st_atime、st_mtime、st_ctime都是使用数据类型struct timespec.

(编辑:成都站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章