7

起初我得到一个时间

time_t t1 = time(0) 

(获取当前时间是否正确?)然后

time_t t2 = time(0)

现在我想以毫秒为单位找到 t1 和 t2 之间的差异,我搜索了很多,但没有奏效。很多铸造问题,无法将其更改为毫秒提前感谢您的帮助

4

3 回答 3

17

使用difftime

double diff = difftime(t2, t1);

这会给你以秒为单位的差异。乘以diff得到1000毫秒。

于 2012-08-25T10:16:33.773 回答
11

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;
于 2012-08-25T10:25:52.277 回答
1

这是您需要的:http ://www.cplusplus.com/reference/clibrary/ctime/difftime/

于 2012-08-25T10:16:37.027 回答