C 速查手冊

11.5.8 strftime()

time.h函數 (function) strftime()結構 (structure) tm 中的時間格式轉換成指定格式的字串 (string) ,有如下的可指定的轉換格式

%a星期幾的縮寫,如Wed
%A星期幾的完整名稱,如Wednesday
%b月份的縮寫,如Jul
%B月份的完整名稱,如July
%c同 asctime() 的結果,如Wed Jul 7 15:37:53 2010
%d這個月的第幾日,從 01 到 31 ,如07
%H24 小時制的當天時刻,如15
%I12 小時制的當天時刻,如3
%j今年的第幾天,從 001 到 366 ,如188
%m月份,從 01 到 12 ,如07
%M現在幾分,從 00 到 59 ,如37
%PPM 或 AM ,如P
%S現在幾秒,從 00 到 59 ,如53
%U以星期天為第一天的週數,從 00 到 53 ,如27
%w星期幾,從 0 到 6 ,如3
%W以星期一為第一天的週數,從 00 到 53 ,如27
%x現在的年月日,如07/07/10
%X現在時間,如15:37:53
%y不含世紀的年表示法,如10
%Y含世紀的年表示法,如2010
%Z時區名稱,如CST

strftime() 共需四個參數 (parameter) ,第一個為輸出字串,第二個為輸出字串的大小,第三個為含有轉換格式的指定字串,第四個為指向結構 tm指標 (pointer)

以下程式示範使用 strftime() 的結果

#include <stdio.h>
#include <time.h>

int main(void)
{
    time_t t1 = time(NULL);
    struct tm *nPtr = localtime(&t1);
    char now[30];
    
    strftime(now, 30, "%Y %B %d %A", nPtr); 
    printf("%s\n", now);
    
    return 0;
}

/* 《程式語言教學誌》的範例程式
    http://kaiching.org/
    檔名:cstrftime.c
    功能:示範 time.h 中函數 strftime() 的使用
    作者:張凱慶 */

編譯後執行,結果如下

$ gcc cstrftime.c
$ a.out
2017 December 30 Saturday
$

上一頁 11.5.7 ctime()
回 C 速查手冊 - 標準程式庫分類索引
下一頁 11.6 輸出與輸入 stdio.h
回 C 速查手冊 - 標準程式庫導覽
回 C 速查手冊首頁
回 C 教材首頁
回程式語言教材首頁