C语言time头文件(time.h)中strftime函数的用法及代码示例。
用法:
size_t strftime (char* ptr, size_t maxsize, const char* format,
const struct tm* timeptr );
将时间格式化为字符串
参数
- ptr
- 指向将目标C字符串复制到的目标数组的指针。
- maxsize
- 要复制的最大字符数ptr,包括终止null-character。
- format
- C字符串,包含常规字符和特殊格式说明符的任意组合。这些格式说明符由函数替换为相应的值,以表示在中指定的时间timeptr。它们都以百分比开头(
%
)符号,它们是:
说明符 取而代之 示例 %a
工作日缩写名称* Thu
%A
工作日全名* Thursday
%b
月份缩写名称* Aug
%B
月份全名* August
%c
日期和时间表示* Thu Aug 23 14:55:02 2001
%C
年份除以100,并截断为整数( 00-99
)20
%d
每月的某天,zero-padded( 01-31
)23
%D
短的 MM/DD/YY
日期,相当于%m/%d/%y
08/23/01
%e
每月的某天,以空格填充( 1-31
)23
%F
短的 YYYY-MM-DD
日期,相当于%Y-%m-%d
2001-08-23
%g
以周为基础的年份,后两位数字( 00-99
)01
%G
以周为基础的年份 2001
%h
缩写的月份名称*(与 %b
)Aug
%H
小时以24小时制( 00-23
)14
%I
12h格式的小时( 01-12
)02
%j
一年中的某天( 001-366
)235
%m
以十进制数字表示的月份( 01-12
)08
%M
分钟 ( 00-59
)55
%n
New-line个字符( '\n'
)%p
AM或PM指定 PM
%r
12小时制* 02:55:02 pm
%R
24小时 HH:MM
时间,相当于%H:%M
14:55
%S
第二 ( 00-61
)02
%t
Horizontal-tab个字符( '\t'
)%T
ISO 8601时间格式( HH:MM:SS
), 相当于%H:%M:%S
14:55:02
%u
ISO 8601工作日为星期一,数字为 1
(1-7
)4
%U
以第一个星期日为第一个星期的第一天的星期数( 00-53
)33
%V
ISO 8601周编号( 01-53
)34
%w
工作日为小数,星期日为 0
(0-6
)4
%W
以第一个星期一作为第一个星期的第一天的星期数( 00-53
)34
%x
日期表示* 08/23/01
%X
时间表示* 14:55:02
%y
年份,后两位数字( 00-99
)01
%Y
Year 2001
%z
ISO 8601与时区UTC的偏移量(1分钟= 1、1小时= 100)
如果无法确定时区,则没有字符+100
%Z
时区名称或缩写*
如果无法确定时区,则没有字符CDT
%%
A %
标志%
注意:黄色行表示指定符和C99引入的sub-specifiers。从C99开始,两个locale-specific修饰符也可以插入在百分号(%
),并在适当的情况下要求指定替代格式的说明者:
修饰符 意义 适用于 E
使用语言环境的替代表示 %Ec %EC %Ex %EX %Ey %EY
O
使用语言环境的替代数字符号 %Od %Oe %OH %OI %Om %OM %OS %Ou %OU %OV %Ow %OW %Oy
- timeptr
- 指向一个指针tm包含日历时间的结构,该时间细分为各个部分(请参见struct tm)。
返回值
如果生成的C字符串的长度(包括终止null-character)不超过maxsize,该函数返回复制到的字符总数ptr(不包括终止的null-character)。否则,它返回零,并且由指向的数组的内容ptr是不确定的。
示例
/* strftime example */
#include <stdio.h> /* puts */
#include <time.h> /* time_t, struct tm, time, localtime, strftime */
int main ()
{
time_t rawtime;
struct tm * timeinfo;
char buffer [80];
time (&rawtime);
timeinfo = localtime (&rawtime);
strftime (buffer,80,"Now it's %I:%M%p.",timeinfo);
puts (buffer);
return 0;
}
输出示例:
Now it's 03:21PM. |
相关用法
- C语言 clock用法及代码示例
- C语言 difftime用法及代码示例
- C语言 mktime用法及代码示例
- C语言 time用法及代码示例
- C语言 asctime用法及代码示例
- C语言 ctime用法及代码示例
- C语言 gmtime用法及代码示例
- C语言 localtime用法及代码示例
注:本文由纯净天空筛选整理自C标准库大神的英文原创作品 C strftime function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。