在C++中处理日期和时间的库有很多,比如<ctime>
、<chrono>
等。下面列举一些常见的日期时间格式化技巧:
<ctime>
库中的strftime()
函数可以将时间转换成指定格式的字符串,例如:#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>
库中的system_clock
、time_point
等类可以更方便地处理时间,例如:#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
可以更加灵活地处理日期和时间,例如:#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;
}
以上是一些常见的C++中处理日期和时间的格式化技巧,根据具体的需求选择合适的库和方法来进行处理。