免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5767 | 回复: 2
打印 上一主题 下一主题

如何取得毫秒? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-08-08 15:26 |只看该作者 |倒序浏览
想获取系统时间,是毫秒级别的,怎么做呢.
我知道
int gettimeofday ( struct timeval * tv , struct timezone * tz )
函数可以做到.会把秒和毫秒存到timeval结构体里面.
  1. long tv_sec; /*秒*/
  2. long tv_usec; /*微秒*/
复制代码

但我用%d 把tv_usec里的内容输入来的时候,是一个长长数字,不是毫秒.
毫秒应该是0-99的啊.
问一下大家怎么转换这个呢,或者有什么其他方法获得毫秒.

论坛徽章:
0
2 [报告]
发表于 2005-08-08 15:55 |只看该作者

如何取得毫秒?

把微秒换算成毫秒

论坛徽章:
0
3 [报告]
发表于 2005-08-08 22:52 |只看该作者

如何取得毫秒?


  1. uint64_t GetTime()
  2. {
  3.   uint64_t time=0;
  4. #if defined(WIN32)  
  5.   SYSTEMTIME t;
  6.   FILETIME ft;
  7.   ULARGE_INTEGER li;

  8.   GetSystemTime( &t );
  9.   SystemTimeToFileTime( &t, &ft);
  10.   li.LowPart = ft.dwLowDateTime;
  11.   li.HighPart = ft.dwHighDateTime;
  12.   time = li.QuadPart/10;
  13. #else
  14.   struct timeval now;
  15.   gettimeofday( &now , NULL );

  16.   time = now.tv_sec;
  17.   time = time*1000000;
  18.   time += now.tv_usec;
  19. #endif
  20.   return time;
  21. }

  22. uint64_t GetTimeMS()
  23. {
  24.   return GetTime()/1000;
  25. }
复制代码
[/code]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP