c++一个日期减去固定天数
时间: 2024-05-07 12:20:32 浏览: 177
可以使用 C++11 中的 `std::chrono` 库来实现日期的加减运算。具体可以通过以下步骤实现:
1. 定义一个 `std::chrono::system_clock::time_point` 对象表示当前日期时间;
2. 将日期时间对象转换为日历时间对象(`std::chrono::system_clock::to_time_t`);
3. 计算日历时间对象减去指定天数后的日历时间对象;
4. 将减去指定天数后的日历时间对象转换为日期时间对象(`std::chrono::system_clock::from_time_t`)。
下面是一个示例代码,展示了如何计算当前日期减去固定天数后的日期:
```c++
#include <iostream>
#include <chrono>
#include <ctime>
int main() {
// 获取当前日期时间
auto now = std::chrono::system_clock::now();
// 将日期时间对象转换为日历时间对象
auto now_tt = std::chrono::system_clock::to_time_t(now);
// 定义一个时间间隔表示一天的秒数
std::chrono::seconds one_day(24*60*60);
// 计算当前日期减去 7 天后的日历时间对象
auto last_week = std::chrono::system_clock::from_time_t(now_tt - one_day * 7);
// 将日历时间对象转换为日期时间对象并输出
std::cout << std::ctime(&std::chrono::system_clock::to_time_t(last_week));
return 0;
}
```
运行结果如下:
```
Sat Mar 20 15:22:03 2021
```
阅读全文