當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C語言 strftime()用法及代碼示例



描述

C庫函數size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr)格式化結構中表示的時間timeptr根據定義的格式規則format並存入str

聲明

以下是 strftime() 函數的聲明。

size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr)

參數

  • str- 這是指向複製結果 C 字符串的目標數組的指針。

  • maxsize- 這是要複製到 str 的最大字符數。

  • format- 這是包含常規字符和特殊格式說明符的任意組合的 C 字符串。這些格式說明符被函數替換為相應的值,以表示 tm 中指定的時間。格式說明符是 -

說明符 取而代之 示例
%一種 縮寫的工作日名稱 Sun
%A 完整的工作日名稱 Sunday
%b 縮寫的月份名稱 Mar
%B 完整的月份名稱 March
%C 日期和時間表示 2012 年 8 月 19 日星期日 02:56:02
%d 每月的第幾天 (01-31) 19
%H 24 小時格式的小時 (00-23) 14
%我 12h 格式的小時 (01-12) 05
%j 一年中的第幾天 (001-366) 231
%m 十進製數形式的月份 (01-12) 08
%M 分鍾 (00-59) 55
%p AM或PM指定 PM
%S 第二 (00-61) 02
%U 第一個星期日作為第一周的第一天的周數 (00-53) 33
%w 工作日為十進製數,星期日為 0 (0-6) 4
%W 第一個星期一作為第一周的第一天的周數 (00-53) 34
%X 日期表示 12 年 8 月 19 日
%X 時間表示 02:50:06
%y 年份,最後兩位數字 (00-99) 01
%Y Year 2012
%Z 時區名稱或縮寫 CDT
%% 一個牌子
  • timeptr- 這是一個指向包含日曆時間的 tm 結構的指針,該結構分解為如下所示的組件 -

struct tm {
   int tm_sec;         /* seconds,  range 0 to 59          */
   int tm_min;         /* minutes, range 0 to 59           */
   int tm_hour;        /* hours, range 0 to 23             */
   int tm_mday;        /* day of the month, range 1 to 31  */
   int tm_mon;         /* month, range 0 to 11             */
   int tm_year;        /* The number of years since 1900   */
   int tm_wday;        /* day of the week, range 0 to 6    */
   int tm_yday;        /* day in the year, range 0 to 365  */
   int tm_isdst;       /* daylight saving time             */	
};

返回值

如果生成的 C 字符串適合小於 size 個字符(包括終止的 null-character),則返回複製到 str 的字符總數(不包括終止的 null-character),否則返回零。

示例

下麵的例子展示了 strftime() 函數的用法。

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

int main () {
   time_t rawtime;
   struct tm *info;
   char buffer[80];

   time( &rawtime );

   info = localtime( &rawtime );

   strftime(buffer,80,"%x - %I:%M%p", info);
   printf("Formatted date & time:|%s|\n", buffer );
  
   return(0);
}

讓我們編譯並運行上麵的程序,將產生以下結果 -

Formatted date & time:|08/23/12 - 12:40AM|

相關用法


注:本文由純淨天空篩選整理自 C library function - strftime()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。