Unix中的时间整理-创新互联

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

创新互联建站是一家专业从事成都网站建设、成都网站设计的网络公司。作为专业网站建设公司,创新互联建站依托的技术实力、以及多年的网站运营经验,为您提供专业的成都网站建设、全网营销推广及网站设计开发服务!

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

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

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

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

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

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.

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前文章:Unix中的时间整理-创新互联
本文来源:http://myzitong.com/article/igece.html