linux系统时间

1、  对于获取系统时间的需要,linux提供了localtime函数。

#include<time.h>

#include<stdio.h>

int main(void)

{

         time_tnow;         //实例化time_t结构

         structtm *timenow;         //实例化tm结构指针

         time(&now);

         //time函数读取现在的时间(国际标准时间非北京时间),然后传值给now

         timenow   =  localtime(&now);

         //localtime函数把从time取得的时间now换算成你电脑中的时间(就是你设置的地区)

         printf("Local   time  is   %s/n",asctime(timenow));

         //上句中asctime函数把时间转换成字符,通过printf()函数输出

}

 

 

time_t结构体的原型如下:

 

  struct   tm

 

  {

 

  int   tm_sec;//seconds   0-61

 

  int   tm_min;//minutes   1-59

 

  int   tm_hour;//hours   0-23

 

  int   tm_mday;//day   of  the   month   1-31

 

  int   tm_mon;//months   since  jan   0-11

 

  int   tm_year;//years   from  1900

 

  int   tm_wday;//days   since  Sunday,   0-6

 

  int   tm_yday;//days   since  Jan   1,   0-365

 

  int   tm_isdst;//Daylight   Saving  time   indicator

 

  };

2、对于叫高精度测量时间间隔的需要,linux提供了gettimeofday函数。

#include <sys/time.h>

#include <stdio.h>

//time statistics

gettimeofday(&start,0);

//place what you want to do

gettimeofday(&stop,0);

if(!tim_subtract(&diff,&start,&stop))

         printf("totalsecond = %d,micro second = %d\n",diff.tv_sec,diff.tv_usec);

 

 

 

int tim_subtract(struct timeval *result,struct timeval *x, struct timeval *y)

{

         if(x->tv_sec> y->tv_sec)

                   return-1;

         if((x->tv_sec== y->tv_sec) && (x->tv_usec > y->tv_usec))

                   return-1;

         result->tv_sec= (y->tv_sec - x->tv_sec);

         result->tv_usec= (y->tv_usec - x->tv_usec);

         if(result->tv_usec < 0)

         {

                   result->tv_sec--;

                   result->tv_usec+= 1000000;

         }

         return0;

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值