Linux下获取时间的函数简介(linux取时间函数)
任何编程语言都需要时间来提供参考,而在Linux下,有几个函数可以为程序提供时间。这些函数包括time()、 gettimeofday()、clock_gettime()、clock_getres()和clock_getcpuclockid()。
time()函数的功能是获取系统的日历时间,即从1970年1月1日0时0分0秒到当前系统时间的秒数。它的函数原型是time_t time(time_t *t),如果参数t不为NULL,则把该参数指定的内存中存储time()函数返回值,否则,不5存储任何内容。
gettimeofday()函数可以获取当前系统时间,以微妙为单位。它的函数原型是int gettimeofday( struct timeval*tv, struct timezone * tz),其中struct timeval 结构记录时间戳,tv_sec是秒,tv_usec是微秒。 struct timezone 结构则记录时区偏移,tz_minuteswest是时区西边偏移分钟数,tz_dsttime为夏令时的定义。
clock_gettime()函数是一个替换time()的方法,可以更准确地获取系统时间,其原型为int clock_gettime(clockid_tclockid, struct timespec * res),其中struct timespec记录时间戳,tv_sec是秒,tv_nsec是纳秒。
clock_getres()可以获取timer()函数及clock_gettime()返回值的最小有效单位,其原型为int clock_getres(clockid_tid, struct timespec *ts)。
clock_getcpuclockid()可以获取某个进程的cpu时间,其原型为int clock_getcpuclockid( pid_t pid, clockid_t* clock_id)。
从上面可以看出,在Linux系统下可以使用这些函数获取时间。它们的使用非常方便,因此,在开发Linux软件时可以灵活使用它们。