温馨提示×

linux strftime怎样转换时间戳

小樊
81
2025-01-01 18:30:56
栏目: 智能运维

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(&timestamp); // 将时间戳转换为本地时间结构
    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语言官方文档

0