- gettimeofday :获得当前精确时间
#include <sys/time.h>
//tv是保存获取时间结果的结构体,参数tz用于保存时区结果:
int gettimeofday(struct timeval*tv, struct timezone *tz);
struct timeval{
long int tv_sec; // 秒数
long int tv_usec; // 微秒数
}
struct timezone{
int tz_minuteswest;/*格林威治时间往西方的时差*/
int tz_dsttime;/*DST 时间的修正方式*/
}//若不使用,传入NULL
- localtime:获取时间
#include<systime.h>
//使用 timer 的值来填充 tm 结构。timer 的值被分解为 tm 结构,并用本地时区表示
struct tm *localtime(const time_t *timer)
//该函数返回指向 tm 结构的指针,该结构带有被填充的时间信息。
linux下的struct tm结构体:
struct tm
{
int tm_sec; /* Seconds. [0-60] (1 leap second) */
int tm_min; /* Minutes. [0-59] */
int tm_hour; /* Hours. [0-23] */
int tm_mday; /* Day. [1-31] */
int tm_mon; /* Month. [0-11] */ //转化为本地时间 + 1
int tm_year; /* Year - 1900. */ //转化为本地时间 + 1900
int tm_wday; /* Day of week. [0-6] */
int tm_yday; /* Days in year.[0-365] */
int tm_isdst; /* DST. [-1/0/1]*/
# ifdef __USE_BSD
long int tm_gmtoff; /* Seconds east of UTC. */
const char *tm_zone; /* Timezone abbreviation. */
# else
long int __tm_gmtoff; /* Seconds east of UTC. */
const char *__tm_zone; /* Timezone abbreviation. */
# endif
};