起初我有时间
time_t t1 = time(0)
Run Code Online (Sandbox Code Playgroud)
(这是获得当前时间的权利吗?)然后
time_t t2 = time(0)
Run Code Online (Sandbox Code Playgroud)
现在我希望找到t1和t2之间的差异,以毫秒为单位我搜索了很多,但它没有用.很多铸造问题,无法将其更改为毫秒,感谢您的帮助
time()返回一个整数类型,给出自纪元以来的时间(以秒为单位),因此您永远不会得到毫秒级的分辨率.gettimeofday()相反,使用它给出一个带有秒和微秒的结构:
struct timeval t1, t2;
gettimeofday(&t1, NULL);
/* ... */
gettimeofday(&t2, NULL);
int milliSeconds = (t2.tv_sec - t1.tv_sec) * 1000 + (t2.tv_usec - t1.tv_usec)/1000;
Run Code Online (Sandbox Code Playgroud)
用途difftime:
double diff = difftime(t2, t1);
Run Code Online (Sandbox Code Playgroud)
这会给你几秒钟的差异.乘diff用1000得到毫秒.