当前位置:  技术问答>linux和unix

问一个关于在C中求时间差的函数,difftime,clock那些只能精确到秒啊~~~~~~~~~~~~~~~~~~~

    来源: 互联网  发布时间:2015-10-21

    本文导语:  我需要可以精确到至少毫秒的,起止时间都是time_t类型,有什么好的标准函数么?或是自己写的,但是不要太长.本人表示诚挚谢意! | 可用gettimeofday()函数。 gettimeofday(取得目前的时间)  相关函...

我需要可以精确到至少毫秒的,起止时间都是time_t类型,有什么好的标准函数么?或是自己写的,但是不要太长.本人表示诚挚谢意!

|
可用gettimeofday()函数。

gettimeofday(取得目前的时间) 
相关函数 time,ctime,ftime,settimeofday

表头文件 :
#include 
#include 

定义函数 int gettimeofday ( struct timeval * tv , struct timezone * tz )

函数说明 gettimeofday()会把目前的时间有tv所指的结构返回,当地时区的信息则放到tz所指的结构中。
timeval结构定义为:
struct timeval{
long tv_sec; /*秒*/
long tv_usec; /*微秒*/
};
timezone 结构定义为:
struct timezone{
int tz_minuteswest; /*和Greenwich 时间差了多少分钟*/
int tz_dsttime; /*日光节约时间的状态*/
};
上述两个结构都定义在/usr/include/sys/time.h。tz_dsttime 所代表的状态如下
DST_NONE /*不使用*/
DST_USA /*美国*/
DST_AUST /*澳洲*/
DST_WET /*西欧*/
DST_MET /*中欧*/
DST_EET /*东欧*/
DST_CAN /*加拿大*/
DST_GB /*大不列颠*/
DST_RUM /*罗马尼亚*/
DST_TUR /*土耳其*/
DST_AUSTALT /*澳洲(1986年以后)*/

返回值 成功则返回0,失败返回-1,错误代码存于errno。附加说明EFAULT指针tv和tz所指的内存空间超出存取权限。

范例 
#include
#include

main()
{
struct timeval tv;
struct timezone tz;
gettimeofday (&tv , &tz);
printf(“tv_sec; %dn”, tv,.tv_sec) ;
printf(“tv_usec; %dn”,tv.tv_usec);
printf(“tz_minuteswest; %dn”, tz.tz_minuteswest);
printf(“tz_dsttime, %dn”,tz.tz_dsttime);
}

使用两次gettimeofday()函数,求差就行了

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何解决时间差或延迟问题
  • sql计算时间差
  • sql语句中,怎样进行两个日期的时间差,用秒数表示??
  • C#获取时间差的简单示例
  • 如何取linux的localtime与UTC的时间差?
  • 论坛 iis7站长之家
  • Php计算时间差 php日期转换的例子
  • c#(asp.net) 时间操作基类(支持长短日期与时间差)
  • shell下用date命令取得两个时间值,有没有办法获得它们的时间差?
  • php计算两个日期时间差(返回年、月、日)
  • 在Oracle9i中Oracle DATA计算时间差
  • PHP计算时间差的示例代码
  • c# 返回文章发表时间差的代码
  • c#中返回文章发表的时间差的示例
  • 关于使用clock()来测量任务的执行时间差的疑问
  • C#计算两个时间差的方法代码分享
  • c# DateTime常用操作实例(datetime计算时间差)
  • C#中计算时间差中的小数问题解决
  • linux如何比对两个时间差
  • 在JSP下如何计算时间差


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3