C语言中的time函数
来源:互联网 发布:淘宝店铺装修设计 编辑:程序博客网 时间:2024/06/05 00:13
第一种是时间戳的方式(相对于1970.1.1 00:00:00以秒计算的偏移量),时间戳是惟一的,以time_t 类型表示。time_t 实际上是int64类型。
第二种以结构体的形式表示即(struct tm),共有九个元素,分别表示,同一个时间戳的struct tm会因为时区不同而不同。
struct tm
{
int tm_sec; /* seconds after the minute - [0,59] */
int tm_min; /* minutes after the hour - [0,59] */
int tm_hour; /* hours since midnight - [0,23] */
int tm_mday; /* day of the month - [1,31] */
int tm_mon; /* months since January - [0,11] */
int tm_year; /* years since 1900 */
int tm_wday; /* days since Sunday - [0,6] */
int tm_yday; /* days since January 1 - [0,365] */
int tm_isdst; /* daylight savings time flag */
};
结构体中,有些字段是从0开始,这样在显示时需要加1,比如tm_mon.
以前在用到time的函数时,总是忘记某些用法,感觉使用上有些别扭,今天在学习Python的time模块时点击打开链接,想到C语言的time有关函数也是比较模糊,于是就看一看,正好二者可以有一个对比。这样会记忆比较深刻。
C语言中,有关time的函数都放在time.h头文件里。
函数名称: time
函数原型: time_t time(time_t *timer)
函数功能: 得到机器的日历时间或者设置日历时间
函数返回: 机器日历时间
参数说明: timer= NULL时得到机器日历时间,timer=时间数值时,用于设置日历时间,time_t是一个long类型
函数名称: localtime
函数原型: struct tm *localtime(const time_t *timer)
函数功能: 返回一个以tm结构表达的机器时间信息,返回的指针使用完毕后不需要释放。返回所在时区的时间
参数说明: time-用函数time()得到的时间信息
函数返回: 以tm结构表达的时间.
函数名称: gmtime
函数原型: struct tm *gmtime(time_t *time)
函数功能: 得到以结构tm表示的时间信息,返回的是UTC时间。 返回的指针使用完毕后不需要释放。
函数返回: 以结构tm表示的时间信息指针
参数说明: time-用函数time()得到的时间信息
int _tmain(int argc, _TCHAR* argv[]){time_t xx =time(NULL);struct tm *tblock1,*tblock2;tblock1 = localtime(&xx);printf("Current Time is: %d:%d:%d\n",tblock1->tm_hour,tblock1->tm_min ,tblock1->tm_sec );tblock2 = gmtime(&xx);printf("UTC Time is: %d:%d:%d\n",tblock2->tm_hour,tblock2->tm_min ,tblock2->tm_sec );getchar();return 0;}
函数名称: mktime
函数原型: time_t mktime(struct tm * _Tm)
函数功能: 执行与gmtime(), localtime()相反的操作,它接收struct tm对象作为参数,返回用秒数来表示时间的整数。
函数返回: 以time_t表示的时间信息
int _tmain(int argc, _TCHAR* argv[]){struct tm *pTime = NULL,*pTime2=NULL; time_t nTime = time(NULL);printf("Slip Second is %d\n",nTime); pTime = gmtime(&nTime);printf("Slip Second is %d\n",mktime(pTime));pTime2 = localtime(&nTime);printf("Slip Second is %d\n",mktime(pTime2)); //This is correctgetchar();return 0;}
函数名称: ctime
函数原型: char *ctime(long time)
函数功能: 得到日历时间
函数返回: 返回字符串格式:星期,月,日,小时:分:秒,年 ,返回的指针使用完毕后不需要释放。
参数说明: time-该参数应由函数time获得
函数名称: asctime
函数原型: char* asctime(struct tm * ptr)
函数功能: 得到机器时间(日期时间转换为ASCII码) ,返回的指针使用完毕后不需要释放。
函数返回: 返回的时间字符串格式为:星期,月,日,小时:分:秒,年
参数说明: 结构指针ptr应通过函数localtime()和gmtime()得到
int _tmain(int argc, _TCHAR* argv[]){time_t nTime = time(NULL);char *strTime = ctime(&nTime); struct tm *pTime =localtime(&nTime); char *strTime2 =asctime(pTime);printf("Current Time is %s\n",strTime);printf("Current Time is %s\n",strTime2);getchar();return 0;}
运行结果如下:
函数名称: strftime
函数原型: size_t strftime( char * Buf, size_t bytes, const char * Format, const struct tm * tm);
函数功能: 将一个tm结构格式化为一个字符串。
函数返回: 返回格式化后的字符串的长度
参数说明: buf : [in]字符串存放空间;
bytes : [in]空间大小;
Format:[in]时间格式化参数 ;
tm:[in]时间信息指针
函数名称: strptime
函数原型: char *strptime(const char *buf,const char *format,struct tm *tm)
函数功能: 则是将一个字符串格式化为一个tm结构,Linux平台下有此函数,windows平台下无此函数。
函数返回: 返回一个指针,指向转换过程处理的最后一个字符后面的那个字符。
参数说明: buf: [in]字符串存放空间; format:[in]时间格式化参数; tm:[out]时间信息指针
int _tmain(int argc, _TCHAR* argv[]){time_t nTime =0;struct tm *tm_ptr = NULL;struct tm timestruct;char buf[256]={0};time(&nTime);printf("Current Time is %d\n",nTime);tm_ptr = localtime(&nTime);strftime(buf,sizeof(buf),"%Y-%m-%d %H:%M:%S",tm_ptr);printf("strftime gives:%s\n",buf);printf("#####################Test strptime###################################\n");strcpy(buf,"Sat 26 July 2003,17:53 will do fine");printf("calling strptime with: %s/n",buf);tm_ptr = ×truct;char *result = strptime(buf,"%a %d %b %Y,%R",tm_ptr);printf("strptime consumed up to: %s/n",result);printf("strptime gives:/n");printf("date: %02d/%02d/%02d/n",tm_ptr->tm_year%100,tm_ptr->tm_mon+1,tm_ptr->tm_mday);printf("time: %02d:%02d/n",tm_ptr->tm_hour,tm_ptr->tm_min);getchar();return 0;}
- C语言中的time函数
- C语言中的time函数
- c语言中的time函数用法
- C语言中的time函数总结
- C语言Time函数
- C语言time函数
- C语言中的一些时间函数(time/sleep/clock)
- C语言中time函数
- C语言time函数资料
- C语言中time函数
- C语言中time()函数
- C语言中time函数
- C语言中time()函数
- C语言中time函数
- C语言中time函数
- C语言中time()函数
- c语言中time函数的用法
- C语言中time函数【转载】
- 百度之星初赛第二轮第一题超时代码(可能还有错误)
- #if defined和#if !defined
- ser文件与Java对象序列化
- android开源项目下载代码的方法
- 设计模式的分类
- C语言中的time函数
- matlab实现的手写体字符截取字符区域的方法
- Eclipse 配色方案的修改
- 中国软件开发工程师之痛
- JDBC连接SQL Server 2005详解
- android 的混淆打包
- 关于ScrollWindow()和UpdateWindow()
- ffmpeg(5) ffmpeg -rdynamic
- 分段函数求值