C 标准库 - <time.h>

C 语言 localtime() 函数用于将时间戳转换为本地时间结构(struct tm),便于获取年月日时分秒。

原型

struct tm *localtime(const time_t *timer);

struct tm 含 tm_year(年份-1900)、tm_mon(月份 0-11)、tm_mday、tm_hour、tm_min、tm_sec 等字段。

参数

  • timer - 指向 time_t 时间戳的指针。

示例

#include <stdio.h>
#include <time.h>

int main() {
    time_t t = time(NULL);
    struct tm *lt = localtime(&t);
    printf("%04d-%02d-%02d %02d:%02d:%02d\n",
        lt->tm_year + 1900, lt->tm_mon + 1, lt->tm_mday,
        lt->tm_hour, lt->tm_min, lt->tm_sec);
    return 0;
}

输出:

2024-10-02 12:34:56

注意事项

tm_year 从 1900 起,tm_mon 从 0 起,显示时要 +1900 和 +1。