C语言localtime():将time_t时间转换成tm时间
localtime() 是 C语言的一个标准库函数,定义在
localtime() 函数的功能是将 time_t 类型的时间转换为一个 tm 结构体类型的时间。如下是 tm 结构体类型的具体细节:
【实例】以下的 C语言示例演示了用 localtime() 函数获取当前时间,并以各个组成部分的形式打印出来:
<time.h>
头文件中。localtime() 函数的功能是将 time_t 类型的时间转换为一个 tm 结构体类型的时间。如下是 tm 结构体类型的具体细节:
struct tm { int tm_sec; /* 秒,范围通常是 0~59 */ int tm_min; /* 分,范围从 0~59 */ int tm_hour; /* 小时,范围从 0~23 */ int tm_mday; /* 一月中的第几天,范围从 1~31 */ int tm_mon; /* 月份,范围从 0~11 */ int tm_year; /* 自 1900 开始计算的年数 */ int tm_wday; /* 一周中的第几天,范围从 0~6 */ int tm_yday; /* 一年中的第几天,范围从 0~365 */ int tm_isdst; /* 夏令时标志 */ };localtime() 函数的原型如下:
struct tm* localtime(const time_t* timer);
参数
timer:要转换的时间。返回值
返回一个指向 tm 结构体变量的指针,该变量存储了当前时间的各个组成部分。【实例】以下的 C语言示例演示了用 localtime() 函数获取当前时间,并以各个组成部分的形式打印出来:
#include <stdio.h> #include <time.h> int main() { time_t current_time; struct tm* local_time; // 获取当前时间 current_time = time(NULL); // 转换为本地时间结构体 local_time = localtime(¤t_time); // 检查是否转换成功 if (local_time != NULL) { printf("当前时间是: %04d-%02d-%02d %02d:%02d:%02d\n", local_time->tm_year + 1900, // 年份 local_time->tm_mon + 1, // 月份 local_time->tm_mday, // 日 local_time->tm_hour, // 小时 local_time->tm_min, // 分钟 local_time->tm_sec // 秒 ); } else { printf("时间转换失败\n"); } return 0; }输出结果为:
当前时间是: 2023-08-17 11:03:19