在C++中處理日期和時(shí)間的庫(kù)有很多,比如<ctime>
、<chrono>
等。下面列舉一些常見(jiàn)的日期時(shí)間格式化技巧:
<ctime>
庫(kù)中的strftime()
函數(shù)可以將時(shí)間轉(zhuǎn)換成指定格式的字符串,例如:#include <iostream>
#include <ctime>
int main() {
time_t now = time(nullptr);
char buffer[80];
strftime(buffer, 80, "%Y-%m-%d %H:%M:%S", localtime(&now));
std::cout << buffer << std::endl;
return 0;
}
<chrono>
庫(kù)中的system_clock
、time_point
等類可以更方便地處理時(shí)間,例如:#include <iostream>
#include <chrono>
int main() {
auto now = std::chrono::system_clock::now();
std::time_t now_c = std::chrono::system_clock::to_time_t(now);
std::cout << std::put_time(std::localtime(&now_c), "%Y-%m-%d %H:%M:%S") << std::endl;
return 0;
}
date_time
可以更加靈活地處理日期和時(shí)間,例如:#include <iostream>
#include <boost/date_time/gregorian/gregorian.hpp>
int main() {
boost::gregorian::date today = boost::gregorian::day_clock::local_day();
std::cout << today.year() << "-" << today.month() << "-" << today.day() << std::endl;
return 0;
}
以上是一些常見(jiàn)的C++中處理日期和時(shí)間的格式化技巧,根據(jù)具體的需求選擇合適的庫(kù)和方法來(lái)進(jìn)行處理。