localtime
是C++标准库中的一个函数,用于将一个std::time_t
类型的时间戳转换为可读的本地时间(即包含日期和时间的结构体)
包含头文件:
在代码中包含<ctime>
头文件,以便使用localtime
函数。
#include <ctime>
使用time_t
类型存储时间戳:
time_t
是一个无符号整数类型,用于存储自1970年1月1日(UTC)以来的秒数。你可以使用std::time
函数获取当前时间戳。
std::time_t currentTime = std::time(nullptr);
使用localtime
函数转换时间戳:
localtime
函数接受一个const time_t*
类型的参数(即时间戳),并返回一个指向std::tm
结构体的指针。这个结构体包含了本地时间的日期和时间信息。
std::tm localTime = *std::localtime(¤tTime);
输出本地时间:
使用std::cout
和std::put_time
函数输出本地时间。std::put_time
是一个格式化输出函数,它使用std::tm
结构体中的信息来生成可读的字符串。
std::cout << "Local time: " << std::put_time(&localTime, "%Y-%m-%d %H:%M:%S") << std::endl;
下面是一个完整的示例程序:
#include <iostream>
#include <ctime>
int main() {
// 获取当前时间戳
std::time_t currentTime = std::time(nullptr);
// 将时间戳转换为本地时间
std::tm localTime = *std::localtime(¤tTime);
// 输出本地时间
std::cout << "Local time: " << std::put_time(&localTime, "%Y-%m-%d %H:%M:%S") << std::endl;
return 0;
}
这个程序将输出当前本地时间,格式为YYYY-MM-DD HH:MM:SS
。你可以根据需要调整std::put_time
中的格式字符串。更多格式化选项可以参考C++标准库文档:https://en.cppreference.com/w/cpp/io/manip/put_time