#include <time.h>
size_t strftime( char *str, size_t maxsize, const char *fmt, struct tm *time );
函数按照参数 fmt 所设定格式将 time 类型的参数格式化为日期时间信息,然后存储在字符串 str 中(至多 maxsize 个字符)。用于设定时间不同类型的代码为:
%a 星期的缩略形式
%A 星期的完整形式
%b 月份的缩略形式
%B 月份的完整形式
%c 月份的缩略形式
%d 月中的第几天(1-31)
%H 小时, 24小时格式 (0-23)
%I 小时, 12小时格式 (1-12)
%j 年中的第几天(1-366)
%m 月份 (1-12). Note: 某些版本的Microsoft Visual C++ 可能使用取值范围0-11.
%M 分钟(0-59)
%p 本地时间的上午或下午(AM or PM)
%S 秒钟(0-59)
%U 年中的第几周,星期天是一周的第一天
%w 星期几的数字表示(0-6, 星期天=0)
%W 一年中的第几周,星期天是一周的第一天
%x 标准日期字符串
%X 标准时间字符串
%y 年(0-99)
%Y 用CCYY表示的年(如:2004)
%Z 时区名
%% 百分号
函数 strftime() 返回值为处理结果字符串 str 中字符的个数,如果发生错误返回零。
#include <stdio.h> #include <time.h> int main () { time_t rawtime; struct tm *info; char buffer[80]; time( &rawtime ); info = localtime( &rawtime ); strftime(buffer, 80, "%Y-%m-%d %H:%M:%S", info); printf("格式化的日期 & 时间 : |%s|\n", buffer ); return(0); }
输出结果:
格式化的日期 & 时间 : |2022-07-14 23:34:52|