当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。