在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 中自由操做時間變量

相關文章
相關標籤/搜索