clock_gettime 毫秒时间戳
时间: 2024-11-01 07:05:54 浏览: 12
my_time_gettime_源码
`clock_gettime()`是一个标准的POSIX库函数,用于从特定类型的时钟获取当前的时间戳。如果你想获取毫秒级别的精度,通常你会选择`CLOCKS_MONOTONIC`作为时钟类型。调用它的方式类似于:
```c
#include <time.h>
#include <sys/time.h>
struct timespec monotime;
clock_gettime(CLOCKS_MONOTONIC, &monotime);
long long milliseconds = (monotime.tv_sec * 1000) + (monotime.tv_nsec / 1000000); // nanoseconds转换成milliseconds
```
这里,`struct timespec`结构包含两个成员:`tv_sec`(秒,包括整数部分和小数点后9位),以及`tv_nsec`(纳秒,表示剩余的小数部分)。将这两个值相乘再除以1000000(即10^6),即可得到大约到毫秒级的时间戳。
需要注意的是,`CLOCKS_MONOTONIC`返回的是一个自从某个固定的起点开始(通常是系统启动时)的绝对时间,所以它是单调递增的,并且不受系统时间调整的影响。
阅读全文