c库函数size_t strftime(char*str,size_t maxsize,const char*format,const struct tm*timeptr)根据format中定义的格式化规则,格式化结构timeptr表示的时间,并把它存储在str中
声明
下面strftime()函数的声明
size_t strftime (char *str,size_t maxsize,const char *format,const struct tm *timeptr)
参数
str,这是指向目标数组的指针,用来复制产生的c字符串
maxsize,这是被复制到str的最大字符数
format,这是c字符串,包含了普通字符和特殊格式说明符的任何组合,这些格式说明符由函数替换为表示tm中所指定时间的相对应值,格式说明符是
说明符 | 替换为 | 实例 |
%a | 缩写的星期几 | Sun |
%A | 完整的星期几 | Sunday |
%b | 缩写的月份 | Mar |
%B | 完整的月份 | March |
%c | 日期和时间表示法 | Sun Aug 19 02:56:02 2012 |
%d | 一月中的第几天 | 19 |
%H | 24小时格式 | 14 |
%I | 12小时格式 | 05 |
%j | 一年中的第几天 | 231 |
%m | 十进制数表示月份 | 08 |
%M | 分 | 55 |
%p | AM或PM | PM |
%S | 秒 | 02 |
%U | 一年中的第几周,以第一个星期日为第一天 | 33 |
%w | 十进制的星期几,星期日为0 | 4 |
%W | 一年中的第几周,以第一个星期一为第一天 | 34 |
%x | 日期表示法 | 08/19/12 |
%X | 时间表示法 | 02:50:06 |
%y | 年份,最后两个数字 | 01 |
%Y | 年份 | 2012 |
%Z | 时区的名称或缩写 | CDT |
%% | 一个%符号 | % |
返回值
如果产生的c字符串小于size个字符(包=包括空结束字符),则会返回复制到str中的字符总数(不包括空结束字符),否则返回0
实例
#include <stdio.h>
#include <time.h>
int main()
{
time_t rawtime;
struct tm *info;
char buffer[80];
time (&rawtime);
info=localtime(&rawtime);
strtime (buffer.80,"%x-%I:%M%p"info);
printf("格式化的日期&时间:|%s|",buffer);
return (0);
}
显示结果
格式化的日期&时间:|08/23/12-12:40AM|