时间编程介绍
time:获取日历时间
- 函数名:
time
- 函数原型:
time_t time(time_t *t);
- 函数功能:
返回日历时间
- 所属头文件
time.h
- 函数返回值:
成功: 返回日历时间
失败: 返回-1
- 函数参数:
t : 不为空的情况返回日历时间
gmtime:获取格林威治时间
- 函数名:
gmtime
- 函数原型:
struct tm *gmtime(const time_t *timep);
- 函数功能:
将参数timep转化为标准时间
- 所属头文件
time.h
- 函数返回值:
成功: 返回标准时间,以struct tm 形式保存
失败: 返回NULL
- 函数参数:
timep : 待转化的日历时间
localtime:获取本地时间
- 函数名:
localtime
- 函数原型:
struct tm *localtime(const time_t *timep);
- 函数功能:
将参数timep指向的日历时间转化为本地时间
- 所属头文件
time.h
- 函数返回值:
成功:返回以struct tm格式存储的本地时间
失败:返回NULL
- 函数参数:
timep: 指向带转化的日历时间
asctime:以字符串方式显示时间
- 函数名:
asctime
- 函数原型:
char *asctime(const struct tm *tm);
- 函数功能:
将struct tm格式的时间转化为字符串时间
- 所属头文件
time.h
- 函数返回值:
成功 : 字符串显示的时间
失败 : 返回NULL
- 函数参数:
tm: 待转化的tm格式的时间
gettimeofday:获取高精度时间
- 函数名:
gettimeofday
- 函数原型:
int gettimeofday(struct timeval *tv, struct timezone *tz);
- 函数功能:
获取高精度时间
- 所属头文件
sys/time.h
- 函数返回值:
成功: 返回0
失败: 返回-1
- 函数参数:
tv : 保存从1970年1月1日0:0:0到现在经历的秒数和微秒数
tz : 一般为NULL
以下是根据这几种时间函数的总体编的一个程序:
#include <time.h>
#include <stdio.h>
#include <sys/time.h>
int main()
{
struct tm *ptr;
struct tm *localtm;
struct timeval tv;
time_t lt;
char *atime;
//获取日历时间
lt=time(NULL);
//将日历时间转化为标准时间(格林威治时间)
ptr = gmtime(<);
//将日历时间转换为本地时间
localtm=localtime(<);
//将struct tm格式时间转化为字符串格式时间
atime=asctime(localtm);
//获取高精度时间
gettimeofday(&tv,NULL);
//显示日历时间
printf("rili time is : %ld\n",lt);
//以struct tm格式显示现在的小时和分钟
printf("now is hour %d, min is %d\n",ptr->tm_hour,ptr->tm_min);
//以struct tm格式显示本地时间的小时和分钟
printf("now is hour: %d,min is: %d\n",localtm->tm_hour,localtm->tm_min);
//以字符串格式显示时间
printf("time is : %s",atime);
//显示高精度时间
printf("now is : %lds, usec is %ldus\n",tv.tv_sec,tv.tv_usec);
return 0;
}