C++ time
C++ 日期 & 时间
在C语言中,localtime是一个函数,用于将自1970年1月1日(UTC)以来的秒数(通常称为时间戳或Unix时间)转换为本地时间的struct tm格式。这个转换考虑了本地时区以及夏令时(如果适用)的影响。
函数的原型通常如下:
#include <time.h>
struct tm *localtime(const time_t *timeptr);
其中:
timeptr是一个指向time_t类型变量的指针,该变量包含自1970年1月1日以来的秒数。
函数返回一个指向struct tm的指针,该结构体包含了分解后的本地时间信息,如年、月、日、小时、分钟、秒等。
struct 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,其中0表示星期日
int tm_yday; // 一年中的第几天,范围从0到365,1月1日为第0天,12月31日为第365天(在闰年是第366天)
int tm_isdst; // 夏令时
};
使用localtime的一个简单示例:
#include <stdio.h>
#include <time.h>
int main() {
time_t rawtime;
struct tm * timeinfo;
time (&rawtime);
timeinfo = localtime(&rawtime);
printf("当前本地时间和日期: %s", asctime(timeinfo));
return 0;
}
在这个示例中,time函数用于获取当前时间的时间戳,然后localtime将其转换为本地时间,并通过asctime转换为人类可读的字符串格式进行打印。