在C程序中按照你想要的格式输出时间:strftime()

Reference:C语言格式化输出时间函数strftime()
本文地址:https://segmentfault.com/a/11...shell


C语言中常常须要将时间戳转换成你所须要的各式各样种类繁多的格式。使用strftime()能够帮助你。segmentfault

函数原型

#include <time.h>
size_t strftime(char *s, size_t max, const char *format, const struct tm *tm);

调用例子

#define CFG_BUFF_LEN    (128)

time_t timeCurr = time(NULL);
char timeStr[CFG_BUFF_LEN];

strftime(timeStr, sizeof(timeStr), "%Y%m%d-%H:%M:%S", localtime(&timrCurr));

格式化字符表

如下列出所有的格式化字符,但只说明我本身用到的哈。须要用到的建议你们自行写程序测试一下。
年份:
%C:
%g:
%G:
%y:不带世纪的十进制年份,即0~99
%Y:带世纪的十进制年份函数

月份:
%b:月份的简称
%B:月份的全称
%h:与%b相同
%m:月份的十进制数,01~12测试

天:
%d:每个月的第几天,01~31
%e:每个月的第几天,1~31
%j:每一年的第几天,001~366code

星期几:
%a:星期几,简写
%A:星期几,全称
%u:每周的第几天,1~7,星期日为7
%w:每周的第几天,0~6,星期日为0orm

小时:
%H:24小时制。00~23
%I:12小时制。01~12get

分钟:
%M:00~59原型

秒:
%S:00~60——是的,有部分分钟有61秒。io

一段日期的等效
%c:标准的日期时间串
%D:等同于%m/%d/%y
%F:等同于%Y-%m-%d
%r:等同于%I:%M:%S %p
%R:等同于%H:%M
%T:等同于%H:%M:%S
%x:标准的日期串
%X:标准的时间串function

时区
%z:相对UTC的时间偏移。参见RFC 822 date headers
%Z:时区名

其余
%V
%U
%W

%n:换行符
%p:AM和PM标志
%t:制表符
%%%符号

姊妹篇

在 Linux shell 中自由操做时间变量

相关文章
相关标签/搜索