如何使用poco库在c++中从当前日期减去30天



如何使用poco库在c++中从当前日期中减去30天?

第一种方法是将一个新的DateTime减去日期,构造如下:

Poco::DateTime(0, 0, 30);

但在运行时是不允许的,因为月份必须大于1。解决方案是使用时间跨度:

Poco::DateTime date = Poco::DateTime();
std::cout << Poco::DateTimeFormatter::format(date, Poco::DateTimeFormat::ASCTIME_FORMAT) << std::endl;
date = Poco::DateTime(date.timestamp() - Poco::Timespan(30 * 24 * 60 * 60, 0)); // 30 days in seconds;
std::cout << Poco::DateTimeFormatter::format(date, Poco::DateTimeFormat::ASCTIME_FORMAT) << std::endl;

这是这个代码片段的输出:

Fri Sep 18 08:18:21 2020
Wed Aug 19 08:18:21 2020

最新更新