strftime
是一个用于格式化时间的函数,它可以将时间戳(秒)转换为可读的日期和时间字符串
#include <stdio.h>
#include <time.h>
int main() {
time_t timestamp = 1629883200; // 这是一个示例时间戳,表示2021-08-24 00:00:00 UTC
struct tm *timeinfo;
char buffer[80];
timeinfo = localtime(×tamp); // 将时间戳转换为本地时间结构
strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", timeinfo); // 将本地时间结构格式化为可读的字符串
printf("Formatted timestamp: %s\n", buffer); // 输出格式化后的时间字符串
return 0;
}
在这个示例中,我们首先将一个时间戳(timestamp
)转换为本地时间结构(timeinfo
),然后使用 strftime
函数将其格式化为一个可读的字符串(buffer
)。最后,我们输出格式化后的时间字符串。
strftime
中的格式化字符串可以包含以下占位符:
%Y
- 四位数的年份(例如:2021)%m
- 月份(01-12)%d
- 一个月中的第几天(01-31)%H
- 小时(24小时制,00-23)%M
- 分钟(00-59)%S
- 秒(00-59)你可以根据需要组合这些占位符以创建自定义的时间格式。更多关于 strftime
的占位符和用法,请参考 C语言官方文档。