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