strftime()函数是C语言中用来格式化时间和日期的函数,它可以根据用户指定的格式来输出时间字符串。它的原型定义如下:
size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr);
其中,str是指向输出字符串的指针,maxsize是输出字符串的最大长度,format是指定输出格式的字符串,timeptr是指向tm结构体的指针,tm结构体中存放了要格式化的时间信息。
strftime()函数支持多种格式化字符,下面列出了一些常用的格式化字符:
- %a:星期的简写,如Sun
- %A:星期的全称,如Sunday
- %b:月份的简写,如Jan
- %B:月份的全称,如January
- %c:日期和时间,如Sat Nov 04 12:02:33 1986
- %d:日期,如01
- %H:小时,如00
- %I:12小时制小时,如12
- %j:一年中的第几天,如305
- %m:月份,如09
- %M:分钟,如55
- %p:上下午,如AM
- %S:秒,如02
- %U:一年中的星期数,以星期日开始,如36
- %w:星期几,以星期日开始,如0
- %W:一年中的星期数,以星期一开始,如36
- %x:日期,如11/04/86
- %X:时间,如14:55:02
- %y:年份的后两位数,如86
- %Y:年份,如1986
- %z:时区,如-0500
- %Z:时区名,如EST
下面是一个使用strftime()函数的示例:
#include#include int main() { time_t rawtime; struct tm *timeinfo; char buffer[80]; time(&rawtime); timeinfo = localtime(&rawtime); strftime(buffer, 80, "%Y-%m-%d %H:%M:%S", timeinfo); printf("当前时间:%s\n", buffer); return 0; }
上面的代码演示了如何使用strftime()函数来格式化当前时间,输出的格式是“年-月-日 时:分:秒”。
strftime()函数是C语言中一个非常有用的函数,它可以用来格式化时间和日期,以满足各种应用场景的需求。