C 的时间
time_point
时间单位默认是秒,绝对时间获取的时间点都是相对新纪元。相关概念:
新纪元:1970年1月1日00:00:00 UTC(GMT)
#include <time.h>
typedef long time_t //时间点,秒单位
time_t time(time_t *t) //返回自从新纪元以来流逝的秒数,将当前时间点写入到t
/***************************/
// 少用
#include <sys/time.h>
struct timeval {
time_t tv_sec; // 秒
susenconds_t tv_usec; // 微秒
}
int gettimeofday(struct timeval *tv,
struct timezone *tz);
/***************************/
// 常用
#include <time.h>
struct timespec {
time_t tv_sec; // 秒
long tv_nsec; // 纳秒
}
int clock_gettime(clockid_t clock_id,
struct timespec *ts);
/***************************/
// 时间差
double difftime(time_t time1, time_t time0);
tm 是人们容易理解的时间格式
#include <time.h>
struct tm {
int tm_sec;