Linux strftime
时间: 2024-12-27 22:28:42 浏览: 7
在Linux中,`strftime()` 函数是一个强大的工具,用于格式化时间戳。它允许你将 `time_t` 类型(表示自纪元以来的秒数)转换成可读的字符串,按照指定的格式。这个函数的原型如下[^1]:
```c
size_t strftime(char*s, size_t max, const char* format, const struct tm *tm);
```
参数说明:
- `s`: 存储格式化后时间字符串的目标缓冲区。
- `max`: 缓冲区的大小,以字符计。
- `format`: 格式化字符串,包含了日期/时间的模式。
- `tm`: 时间结构体,通常包含从 `gmtime()` 或 `localtime()` 获得的时间信息。
例如,如果你想要格式化当前时间为 "YYYY-MM-DD HH:MM:SS",可以这样调用`strftime`:
```c
#include <stdio.h>
#include <time.h>
int main() {
time_t now = time(0); // 获取当前时间
struct tm *t = localtime(&now); // 转换为本地时间
char formatted_time[20]; // 定义一个足够大的缓冲区
// 使用strftime格式化并存储到formatted_time
size_t len = strftime(formatted_time, sizeof(formatted_time), "%Y-%m-%d %H:%M:%S", t);
if (len == 0) {
printf("Error formatting time.\n");
} else {
printf("Formatted current time: %s\n", formatted_time);
}
return 0;
}
```
阅读全文