C 语言 Strftime()

2024 年 8 月 28 日 | 3 分钟阅读

引言

time.h 头文件包含了 strftime 函数的定义。它的目的是生成并以指定格式保存字符串。它使用存储在特定 tm 结构体中的时间值。

语法

下面提供了 strftime() 方法的语法。

使用的参数或实参

Str-

它是一个指向目标数组的指针,结果中**复制的 C 字符串**存储在此处。

Maxsize -

它可以复制到 str 中的最大字符数。

Format -

它是一个 C 字符串,可以包含字母和数字字符以及独特的 格式说明符的任意组合。该函数会将这些格式说明符替换为正确的值,以表示在 tm 中提供的时间。

这些是格式说明符

说明符替换为示例
%a工作日的缩写名称Mon
%A工作日的完整名称星期一
%b月份缩写二月
%B月份完整名称February
%c时间日期显示Sun Aug 19 02:56:02 2012
%d(01-31) 月份中的日期19
%H24 小时制的小时 (00-23)14
%I(01-12) 12 小时制的小时05
%j日期(001 到 366)231
%m以十进制表示的月份 (01-12)08
%M(分钟 00:59)55
%p上午或下午时区PM
%S(00-61)秒02
%U周数,以第一个星期日作为第一周的第一天 (00-53)33
%w星期日用数字 0 表示 (0-6)4
%W周数,以第一个星期一作为第一周的第一天 (00-53)34
%x日期表示08/19/12
%X时间表示02:50:06
%y年份的最后两位数字 (00-99)01
%Y年份2012
%Z时区名称或缩写CDT
%%一个 % 符号%

timeptr -

它是一个指向 tm 结构体的指针,该结构体包含日历时间的组成部分,如下所示。

返回值

如果结果 C 字符串可以写入少于 size 个字符(包括终止 null 字符),则返回复制到 str 的字符总数(不包括终止 null 字符),在这种情况下,返回

示例

下面的示例中使用了 strftime() 方法

输出

The Formatted date & time is : |06/03/23 - 05:17PM|

示例:2

输出

The Formatted date &time : 06/03/23 - 05:42PM

说明

这里添加了所有必要的头文件(stdlib.h、stdio.htime.h)。字符数组 MY_TIME 的大小由 Size 常量定义,它将存储格式化的日期时间

为了获取自 Unix 纪元(1970 年 1 月 1 日)以来的当前时间(以秒为单位),使用 time() 函数,并将 t 的地址作为参数。当调用 localtime() 方法时,将 t 的地址作为参数传递。MY_TIME 数组包含格式化的日期和时间。

使用 printf(),格式化的日期和时间显示在终端上。main() 函数结束,程序 返回 0 以表示它成功运行。