strftime
按照指定格式输出时间字符串
时间戳
时间戳 time_t timestamp
是从 1970-01-01 00:00:00
到目前计时时间的秒数
strftime
常用选项
转换控制符 | 输出 |
---|---|
%a | 星期几的简写形式 |
%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 | 地理时区名称 |
需要注意 %Z
某些 c 库未支持
source code
struct tm *p = gmtime(&utc_time);
strftime(data, sizeof(data), "%a %b %d %H:%M:%S %Z %Y", p);
// Tue Mar 06 12:33:45 CST 2001
strftime(data, sizeof(data), "%A, %b %d, %X %z %Y", p);
// Tuesday, Mar 06, 12:33:45 +0000 2001
strftime(data, sizeof(data), "%A, %b %d, %X %Z %Y", p);
// Tuesday, Mar 06, 12:33:45 CST 2001