Chinaunix首页 | 论坛 | 博客
  • 博客访问: 211078
  • 博文数量: 59
  • 博客积分: 476
  • 博客等级: 下士
  • 技术积分: 530
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-02 13:12
文章分类
文章存档

2012年(3)

2011年(56)

我的朋友

分类:

2011-12-06 14:24:43

原文地址:时间编程 作者:luozhiyong131

应用程序设计     http://blog.chinaunix.net/u3/117680/showart.php?id=2325123

 

 

 

 

 

时间类型

 

Coordinated Universal TimeUTC):世界标准时间,也就是大家所熟知的格林威治标准时间Greenwich Mean TimeGMT)。

 

Calendar Time日历时间,是用“从一个标准时间点(如:1970110点)到此时经过的秒数”来表示的时间。

 

时间获取

#include

time_t time(time_t *tloc)

功能:

获取日历时间,即从1970110点到现在所经历的秒数。

 

时间转化

 struct tm *gmtime(const time_t *timep)

功能:将日历时间转化为格林威治标准时间,并保存至TM结构。

 struct tm *localtime(const time_t *timep)

功能:将日历时间转化为本地时间,并保存至TM结构。

 

时间保存

struct tm{

int tm_sec;  //秒值

int tm_min; //分钟值

int tm_hour; //小时值

int tm_mday; //本月第几日

int tm_mon; //本年第几月

int tm_year; //tm_year + 1900 = 哪一年

int tm_wday; //本周第几日

int tm_yday; //本年第几日

int tm_isdst; //日光节约时间

};

 

时间获取

例:time1.c

#include

#include

 

int main(void){

      struct tm *local;

      time_t t;

      t = time(NULL);

      local = localtime(&t);

      printf("Local hour is:%d\n",local->tm_hour);

      local = gmtime(&t);

      printf("UTC hour is:%d\n",local->tm_hour);

      return 0;

}

 

时间显示

char *asctime(const struct tm *tm)

功能:将tm格式的时间转化为字符串,如:

Sat Jul 30 08:43:03 2005

 

char *ctime(const time_t *timep)

功能:将日历时间转化为本地时间的字符串形式。

 

例:time2.c

#include

#include

 

int main(void){

      struct tm *ptr;

      time_t it;

      it = time(NULL);

      ptr = gmtime(&it);

      printf(asctime(ptr));

      printf(ctime(&it));

      return 0;

}

 

获取时间

int gettimeofday(struct timeval *tv,struct timezone *tz)

功能:获取从今日凌晨到现在的时间差,常用于计算事件耗时。

struct timeval {

int tv_sec; //秒数

int tv_usec; //微妙数

};

 

实例

#include

#include

#include

#include

 

void function(){

      unsigned int i, j;

      double y;

      for(i=0;i<1000;i++)

           for(j=0;j<1000;j++)

                 y++;

}

 

main(){

      struct timeval tpstart, tpend;

      float timeuse;

     

      gettimeofday(&tpstart,NULL); // 开始时间

      function();

      gettimeofday(&tpend,NULL); // 结束时间

     

      /* 计算执行时间 */

      timeuse=1000000*(tpend.tv_sec-tpstart.tv_sec)+

           tpend.tv_usec-tpstart.tv_usec;

      timeuse/=1000000;

 

      printf("Use Time:%f\n",timeuse);

      exit(0);

}

 

延时执行

unsigned int sleep(unsigned int seconds)

功能:使程序睡眠seconds秒。

void usleep(unsigned long usec)

功能:使程序睡眠usec微秒。

 

 

 

 

应用程序设计     http://blog.chinaunix.net/u3/117680/showart.php?id=2325123

阅读(586) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~