当前位置: 代码迷 >> 综合 >> c库函数-strftime()
  详细解决方案

c库函数-strftime()

热度:97   发布时间:2023-09-27 14:50:33.0

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
%% 一个%符号 %
timeptr,这是指向tm结构的指针


返回值

如果产生的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|