📅  最后修改于: 2023-12-03 15:30:14.539000             🧑  作者: Mango
localtime()
是C语言中有关日期和时间的库,用于将任意时间戳表示的时间转换为本地时间(localtime),如年、月、日、时、分、秒等,并返回一个结构体指针。
其函数原型如下:
struct tm *localtime(const time_t *timep);
其中,timep表示要转换的时间戳指针。返回一个指向tm结构体的指针,该结构体表示时间的分解值。
使用该函数需要包含头文件<time.h>
,如下所示:
#include <time.h>
下面是一段示例代码:
#include <stdio.h>
#include <time.h>
int main() {
// 获取当前时间戳
time_t timestamp = time(NULL);
// 转换为本地时间并输出
struct tm *local_time = localtime(×tamp);
printf("当前本地时间为:%d-%d-%d %d:%d:%d\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);
return 0;
}
代码执行结果如下:
当前本地时间为:2022-3-3 11:15:9
在输出的格式控制中,local_time->tm_year+1900
表示当前年份相对于1900年的偏移量加上1900,而local_time->tm_mon+1
表示当前月份加上1,因为tm结构体中的月份是从0开始计数的。
如果要将本地时间转换为时间戳,可以使用函数mktime()
,函数原型如下:
time_t mktime(struct tm *tm);
其中,tm表示要转换为时间戳的本地时间结构体指针。返回一个time_t类型的时间戳。
需要注意的是,localtime()
和mktime()
函数通常用于不同的场合,前者用于把时间戳转换为本地时间,后者用于把本地时间转换为时间戳。常常在编写日期和时间处理、时区转换等程序时被使用。
以上就是C语言中关于日期和时间的localtime()
函数的简要介绍,对于C语言开发者来说,熟练掌握此函数以及其他日期和时间相关函数,可以有效地增强编程能力。