C语言实验里用的一些时间函数

来源:互联网 发布:小猪源码下载 编辑:程序博客网 时间:2024/05/29 09:18

从该博客摘要:
http://www.cnblogs.com/chenqiangjsj/archive/2011/04/06/2007054.html
1、time函数
头文件:time.h
函数定义:time_t time (time_t *t)
说明:返回从1970年1月1日的UTC时间从0时0分0妙算起到现在所经过的秒数。

#include<stdio.h>#include<time.h>int main(){time_t timep;long seconds = time(&timep);printf("%ld\n",seconds);printf("%ld\n",timep);return 0;}

输出:
1302079744
1302079744
附:time_t 一路追踪发现就是从long类型经过不断的typedef ,#define定义过来的。

2、ctime函数
定义:char *ctime(const time_t *timep);
说明:将参数所指的time_t结构中的信息转换成真实世界的时间日期表示方法,然后将结果以字符串形式返回。这个是本地时间。

#include <stdio.h>#include<time.h>int main(void) {time_t timep;time(&timep);printf("%s\n",ctime(&timep));return 0;}

输出:Wed Apr 6 16:53:35 2011

3、gettime函数
定义:struct tm *gmtime(const time_t *timep);
说明:将参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回。此函数返回的时间日期未经时区转换,而是UTC时间。struct tm结构的定义:

struct tm{int tm_sec;/*秒数*/int tm_min; /*分钟*/int tm_hour;/*小时*/int tm_mday;/*日期*/int tm_mon; /*月份*/int tm_year; /*从1990年算起至今的年数*/int tm_wday; /*星期*/int tm_yday; /*从今年1月1日算起至今的天数*/int tm_isdst; /*日光节约时间的旗标*/};#include <stdio.h>#include<time.h>int main(void) {char *wday[] = {"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};time_t timep;struct tm *p;time(&timep);//time_t 其实就是LONG类型这里可用用long a,time(&a);p = gmtime(&timep);printf("%d/%d/%d ",(1900+p->tm_year),(1+p->tm_mon),p->tm_mday);printf("%s %d:%d:%d\n",wday[p->tm_wday],p->tm_hour,p->tm_min,p->tm_sec);return 0;}

输出:2011/4/6 Wed 8:59:0

0 0