首先介绍两个变量,time_t,tm
time_t是从1970年1月1日起到现在所经过的多少秒,它采用的是32位运算得到,但是只能用到2030年左右,现在出来time64_t可以用64位表示,根据编译环境而论
其中tm是定义一个结构体struct tm
{
int tm_sec;//秒
int tm_min;//分
int tm_hour;//小时
int tm_mday;//日
int tm_mon;//月
int tm_year;//年
int tm_wdayl//星期几(0——6)
int tm_Yday;//天数,从一月一号开始算起
int tm_isdst;//夏令时标记
}
clock()函数,获取CPU时间 clock_t clock(void)
time()函数,函数返回当前日历时间,返回时间的类型是time_t,time_t time(time_t *fp)
difftime()函数,获取时间差,double difftime(time_t time1.time_t time2)
gmtime()函数,将日历时间转换成为UTC时间,struct tm *gmtime(const time_t *fp)
mktime()函数,用来将UTC时间转换成为日立时间 time_t mktime(striuct tm *fp)
asctime()函数,用来将UTC时间转换成为字符串,char *asctime(const struct tm *fp)
ctime()函数,用来将日历时间装好成为当地时间的字符串。char *ctime(const time_t *fp)
localtime()函数,将日历时间转换成为本地时间,struct tm *localtime(const time_t *FP)
strftime()函数,用来转换日期和时间格式,size_t strftime(char *s,size_t smax,const char *fmt,const struct tm*fp)
setlocale()函数本地化控制函数 char*setlocale(int category,const char *locale)
localeconv()函数,本地化转换,可以获得量化后的本地化信息 struct lconv *localeconv(void)
例子:
#include <time.h>
#include<stdio.h>
void main()
{
time_t now;
struct tm *timenow;
time(&now);
timenow = localtime(&now);
printf("local time is %s",asctime(timenow));
}