日期时间模块
C++的 ctime 库包含了一系列用于日期和时间的函数。这个库是基于 C 语言库<time.h>的。下面是一些 ctime 库中函数的示例:
cpp
#include <iostream>
#include <ctime>
int main() {
// 获取当前系统时间
std::time_t now = std::time(0);
// 将时间转换为本地时间
std::tm* local_time = std::localtime(&now);
// 输出年、月、日、时、分、秒
std::cout << "年: " << 1900 + local_time->tm_year << std::endl;
std::cout << "月: " << 1 + local_time->tm_mon << std::endl;
std::cout << "日: " << local_time->tm_mday << std::endl;
std::cout << "时: " << local_time->tm_hour << std::endl;
std::cout << "分: " << local_time->tm_min << std::endl;
std::cout << "秒: " << local_time->tm_sec << std::endl;
// 将时间转换为UTC时间
std::tm* utc_time = std::gmtime(&now);
// 输出UTC时区的年、月、日、时、分、秒
std::cout << "UTC年: " << 1900 + utc_time->tm_year << std::endl;
std::cout << "UTC月: " << 1 + utc_time->tm_mon << std::endl;
std::cout << "UTC日: " << utc_time->tm_mday << std::endl;
std::cout << "UTC时: " << utc_time->tm_hour << std::endl;
std::cout << "UTC分: " << utc_time->tm_min << std::endl;
std::cout << "UTC秒: " << utc_time->tm_sec << std::endl;
// 使用strftime函数格式化时间
char buffer[80];
std::strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", local_time);
std::cout << "格式化后的本地时间: " << buffer << std::endl;
std::strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", utc_time);
std::cout << "格式化后的UTC时间: " << buffer << std::endl;
return 0;
}
这个示例程序首先获取了当前系统时间,并将其转换为本地时间和 UTC 时间。然后,它输出了年、月、日、时、分、秒。最后,它使用 strftime 函数将时间格式化为字符串,并输出格式化后的时间。