1.背景
在Linux编程的过程中,有时候需要用到系统时间,例如根据当前的时间戳产生文件名。为此,本文对Linux中关于时间的一些函数和类型进行简单的总结。
2.time_t
time_t其实是一个长整形的别名,它记录的是从1970年1月1日0时0分0秒到当前所经历的时间。
3.time()
#include <time.h>
time_t time(time_t *t);
此函数主要用于获取系统当前时间(从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(),可以达到微秒级。getimeofday()所获取的时间也是从1970年1月1日0时0分到当前的时间。
Linux与Windows双系统时间问题的真正解决办法:http://www.linuxdiyf.com/linux/11091.html
Linux修改系统时间的简洁方法:http://www.linuxdiyf.com/linux/1171.html