C 参考手册
- C 语言
- C 关键词
- 预处理器
- C 标准库头文件
- 类型支持
- 程序支持工具
- 变参数函数
- 错误处理
- 动态内存管理
- 日期和时间工具
- asctime, asctime_r, asctime_s
- ctime, ctime_r, ctime_s
- gmtime, gmtime_r, gmtime_s
- localtime, localtime_r, localtime_s
- difftime
- time
- clock
- timespec_get
- strftime
- wcsftime
- mktime
- CLOCKS_PER_SEC
- tm
- time_t
- clock_t
- timespec
- 字符串库
- 算法
- 数值
- 文件输入/输出
- 本地化支持
- 原子操作库
- 线程支持库
- 实验性 C 标准库
- 有用的资源
- 符号索引
- 注释
strftime
按照格式字符串 format
,转换来自给定的日历时间 time
的日期和时间信息,为空终止多字节字符串 str
。最多写入 count
字节。
参数
str | - | 指向待输出 char 数组首元素的指针
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
count | - | 最大写入字节数 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
format | - | 指向指定转换格式的空终止多字节字符串指针。
格式字符串由零或更多个限定符和通常字符(除
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
time | - | 指向指定待格式化时间的 struct tm 对象
|
返回值
成功时,返回写入 str
所指向的字符数组的字节数,不包含终止 '\0' 。若在能存储整个字符串前抵达 count
,则返回 0 ,写入内容是未定义的。
示例
运行此代码
#include <stdio.h> #include <time.h> #include <locale.h> int main(void) { char buff[70]; struct tm my_time = { .tm_year=112, // = 2012年 .tm_mon=9, // = 10月 .tm_mday=9, // = 9日 .tm_hour=8, // = 8时 .tm_min=10, // = 10分 .tm_sec=20 // = 20秒 }; if (strftime(buff, sizeof buff, "%A %c", &my_time)) { puts(buff); } else { puts("strftime failed"); } setlocale(LC_TIME, "el_GR.utf8"); if (strftime(buff, sizeof buff, "%A %c", &my_time)) { puts(buff); } else { puts("strftime failed"); } }
输出:
Sunday Sun Oct 9 08:10:20 2012 Κυριακή Κυρ 09 Οκτ 2012 08:10:20 πμ EST
引用
- C11 standard (ISO/IEC 9899:2011):
- 7.27.3.5 The strftime function (p: 394-397)
- C99 standard (ISO/IEC 9899:1999):
- 7.23.3.5 The strftime function (p: 343-347)
- C89/C90 standard (ISO/IEC 9899:1990):
- 4.12.3.5 The strftime function
参阅
(C11) |
将 struct tm 对象转换成文本表示 (函数) |
(C11) |
将 struct time_t 对象转换成文本表示 (函数) |
(C95) |
将 struct tm 对象转换成自定义宽字符文本表示 (函数) |