strftime和strptime使用(时间日期的格式控制函数)
2011-03-22 21:25
881 查看
strftime和strptime使用
整理自《linux程序设计》
这两个函数都是时间日期的格式控制函数,在功能上看起来正好相反。strftime将一个tm结构格式化为一个字符串,strptime则是将一个字符串格式化为一个tm结构。
strftime
函数原型:size_t strftime(char *s,size_t maxsize,char *format,const struct tm *timeptr)
strftime函数对timeptr指向的tm结构所代表的时间和日期进行格式编排,其结果放在字符串s中。该字符串的长度被设置为(最少)maxsize个字符。格式字符串format用来对写入字符串的字符进行控制,它包含着将被传送到字符串里去的普通字符以及编排时间和日期格式的转换控制符。转换控制符见下表
转换控制符 | 说明 |
%a | 星期几的简写形式 |
%A | 星期几的全称 |
%b | 月份的简写形式 |
%B | 月份的全称 |
%c | 日期和时间 |
%d | 月份中的日期,0-31 |
%H | 小时,00-23 |
%I | 12进制小时钟点,01-12 |
%j | 年份中的日期,001-366 |
%m | 年份中的月份,01-12 |
%M | 分,00-59 |
%p | 上午或下午 |
%S | 秒,00-60 |
%u | 星期几,1-7 |
%w | 星期几,0-6 |
%x | 当地格式的日期 |
%X | 当地格式的时间 |
%y | 年份中的最后两位数,00-99 |
%Y | 年 |
%Z | 地理时区名称 |
strptime
函数原型: char *strptime(const char *buf,const char *format,struct tm *timeptr)
format字符串的构建方式和strftime的format字符串完全一样。strptime返回一个指针,指向转换过程处理的最后一个字符后面的那个字符。
看下边一个程序
?View
Code C
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> int main(){ struct tm *tm_ptr,timestruct; time_t the_time; char *buf[256]; (void) time(&the_time); tm_ptr=localtime(&the_time); strftime(buf,256,"%A %d %B,%I:%S %p",tm_ptr); printf("strftime gives: %s/n",buf); strcpy(buf,"Sat 26 July 2003,17:53 will do fine"); printf("calling strptime with: %s/n",buf); tm_ptr+×truct; 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); exit(0); } |
strftime gives:Sunday 06 June, 11:55 AM
calling strptime with:Sat 26 July 2003,17:53 will do fine
strptime consumed up to:will do fine
strptime gives:
date: 03/07/26
time: 17:53
相关文章推荐
- strftime和strptime使用(时间日期的格式控制函数)
- strftime和strptime使用(时间日期的格式控制函数)
- web 前端 常见操作 将时间戳转成日期格式 字符串截取 使用mui制作选项卡
- bat批处理日期时间格式设置使用
- 使用js对用户输入的日期格式和离职时间大于入职时间的校验
- js中使用eval()方法将字符串转换成日期格式、并获取指定时间的日期
- 使用DateTimeOffset 对xml中的日期时间格式时区进行处理
- strftime和strptime时间格式控制
- IE中使用js的Date函数来讲时间戳转日期格式出问题
- linux 时间格式化函数strftime和strptime使用
- 美国的时间格式 -- 复杂格式的日期转换 使用Date.parse(“复杂的格式”)方法。
- C#中用DateTime的ParseExact方法解析日期时间(excel中使用系统默认的日期格式)
- Reporting Service基本界面使用3---设定日期列的时间显示格式
- linux 时间格式化函数strftime和strptime使用
- dos 日期时间格式设置使用小结(Date和Time)
- 【水晶报表小技巧-使用-3】 自定日期时间格式输出
- 如何把使用Navicat把Excel表格中时间日期以**dateTime**格式导入**MySQL**数据库
- 使用js时,如何获取系统当前时间并且得到格式为"yyyy年MM月"的日期
- ORACLE时间日期格式使用总结(参考网上资料汇总)
- 关于DateTime在远程服务器使用以及日期与时间格式的问题