strftime 的各种参数解析:
%a 星期几的简写
%A 星期几的全称
%b 月份的简写
%B 月份的全称
%c 标准的日期的时间串
%C 年份的后两位数字
%d 十进制表示的每月的第几天
%D 月/天/年
%e 在两字符域中,十进制表示的每月的第几天
%F 年-月-日
%g 年份的后两位数字,使用基于周的年
%G 年份,使用基于周的年
%h 简写的月份名
%H
24小时制的小时
%I 12小时制的小时
%j 十进制表示的每年的第几天
%m 十进制表示的月份
%M 十时制表示的分钟数
%n 新行符
%p 本地的AM或PM的等价显示
%r 12小时的时间
%R 显示小时和分钟:hh:mm
%S 十进制的秒数
%t 水平
制表符
%T 显示时分秒:hh:mm:ss
%u 每周的第几天,星期一为第一天 (值从1到7,星期一为1)
%U 第年的第几周,把星期日作为第一天(值从0到53)
%V 每年的第几周,使用基于周的年
%w 十进制表示的星期几(值从0到6,星期天为0)
%W 每年的第几周,把星期一做为第一天(值从0到53)
%x 标准的日期串
%X 标准的时间串
%y 不带世纪的十进制年份(值从0到99)
%Y 带世纪部分的十制年份
%z,%Z 时区名称,如果不能得到时区名称则返回空字符。
%%
百分号
#if 0
time_t timeNow;struct tm *p_tm;
char *wday[]={(char *)"Sun",(char *)"Mon",(char *)"Tue",(char *)"Wed",(char *)"Thu",(char *)"Fri",(char *)"Sat"};
char *month[] = { (char *)"Jan",(char *)"Feb", (char *)"Mar", (char *)"Apr", (char *)"May", (char *)"Jun",
(char *)"Jul", (char *)"Aug", (char *)"Sept", (char *)"Oct",(char *)"Nov", (char *)"Dec"};
time( &timeNow );
p_tm = gmtime( &timeNow );
sprintf(date, "%s, %.2d %s %d %.2d:%.2d:%.2d GMT",
wday[p_tm->tm_wday], p_tm->tm_mday, month[p_tm->tm_mon],
(1900+p_tm->tm_year), p_tm->tm_hour,p_tm->tm_min, p_tm->tm_sec);
#endif
time_t t = time( NULL );
struct tm *timeinfo;
timeinfo = localtime( &t);
strftime(date, 80, "%a, %d %b %G %T GMT", timeinfo );
printf("-----Date : %s\n", date );
return date;