🌷🌷🌷🌷①使用std::chrono库和std::put_time()函数来格式化和输出日期和时间。
🌷🌷🌷🌷②使用std::localtime()函数将当前系统时间转换为本地时间。
🌷🌷🌷🌷③使用std::put_time()函数和std::get_time()函数来解析和格式化日期和时间字符串。
🌷🌷🌷🌷④使用std::chrono::system_clock::now()函数来获取当前系统时间。
使用C++实现日期、时间和时区的本地化和格式化:
#include <iostream>
#include <iomanip>
#include <ctime>
#include <chrono>
#include <sstream>
int main()
{
std::chrono::system_clock::time_point now = std::chrono::system_clock::now();
std::time_t t = std::chrono::system_clock::to_time_t(now);
std::tm tm_local = *std::localtime(&t);
std::cout << "Local time: " << std::put_time(&tm_local, "%c %Z") << std::endl;
std::tm tm_utc = *std::gmtime(&t);
std::cout << "UTC time: " << std::put_time(&tm_utc, "%c %Z") <<std::endl;
std::string date_str = "2023-08-02";
std::istringstream date_stream(date_str);
std::tm date_tm = {};
date_stream >> std::get_time(&date_tm, "%Y-%m-%d");
std::cout << "Parsed date: " << std::put_time(&date_tm, "%c") << std::endl;
return 0;
}
运行结果:
$ g++ -std=c++11 -o test test.cpp
$ ./test
Local time: Tue Aug 2 00:00:00 2023 CST
UTC time: Mon Aug 1 16:00:00 2023 UTC
Parsed date: Tue Aug 2 00:00:00 2023
三、本地化和国际化的错误处理和异常
🌷🌷🌷🌷①使用std::chrono库和std::put_time()函数来格式化和输出日期和时间。
🌷🌷🌷🌷②使用std::localtime()函数将当前系统时间转换为本地时间。
🌷🌷🌷🌷③使用std::put_time()函数和std::get_time()函数来解析和格式化日期和时间字符串。
🌷🌷🌷🌷④使用std::chrono::system_clock::now()函数来获取当前系统时间。