文章

C Time函数

C Time函数

时间定义

  • 毫秒

    符号ms,英语millisecond

    1 s = 1000 ms

  • 微妙

    符号μs,英语microsecond

    1 ms = 1000 us

    1 s = 1000 000 us

  • 纳秒

    符号ns,英语nanosecond

    1 us = 1000 ns

    1 ms = 1000 000 000 ns

    1 s = 1000 000 000 000 ns

  • 皮秒

    符号ps,英语picosecond

    1 ns = 1000 ps

    1 us = 1000 000 ps

    1 ms = 1000 000 000 ps

    1 s = 1000 000 000 000 000 ps

结构体及使用

timeval

在Linux系统中,有一个结构体timeval用于时间的定义

1
2
3
4
5
6
7
#include "sys/time.h"

struct timeval
{
__time_t tv_sec;            /* Seconds */
__suseconds_t tv_usec;      /* Microseconds */
};

tv_sec 表示Epoch到创建struct timeval时的秒数 tv_usec 表示微秒数 (一般最大为999999)

gettimeofday()

  • 函数原型
1
2
#include <sys/time.h>
int gettimeofday(struct timeval* tv, struct timezone* tz);

该函数功能是得到当前时间和分区,并且分别写入到tv和tz中

成功返回0,失败返回-1

tz目前已被弃置,应始终置为NULL

本文由作者按照 CC BY 4.0 进行授权