Linux编程系统时间的获取

1 背景

    在Linux编程的过程中,有时候需要用到系统时间,例如根据当前的时间戳产生文件名。为此,本文对Linux中关于时间的一些函数和类型进行简单的总结。

2 time_t

    参考资料[1]指出,time_t其实是一个长整形的别名,它记录的是从1970年1月1日0时0分0秒到当前所经历的时间。

3 time()

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

    参考资料[2]指出,此函数主要用于获取系统当前时间(从1970年1月1日0时0分到当前所经历的时间)。   

4 localtime()

#include <time.h>
struct tm *localtime(const time_t *timep);

    由于time_t类型的时间不便于人们阅读,因此提供了将time_t转换成便于人们阅读的格式。localtime()就是这类函数之一,详细用例见参考资料[2]。

5 gettimeofday()

#include <sys/time.h>
int gettimeofday(struct timeval *tv, struct timezone *tz);
    time()只能获得的时间精度为秒,若想获得更高精度的时间,可以使用gettimeofday(),可以达到微秒级。根据参考资料[5]的说明,getimeofday()所获取的时间也是从1970年1月1日0时0分到当前的时间。

参考资料

[1]C语言中time_t数据类型详细介绍

[2]linux下获取时间的函数

[3]linux 中 timeval结构体

[4]Linux/Unix time时间戳的处理转换函数

[5]gettimeofday_百度百科

你可能感兴趣的:(Linux编程系统时间的获取)