C++ 日期转换成秒数
时间: 2023-10-07 11:11:07 浏览: 334
可以使用 C++ 中的 `std::chrono` 库来将日期时间转换为秒数。以下是一个示例代码,将当前时间转换为秒数:
```cpp
#include <chrono>
#include <iostream>
int main()
{
auto now = std::chrono::system_clock::now();
auto seconds = std::chrono::duration_cast<std::chrono::seconds>(now.time_since_epoch());
std::cout << "Seconds since epoch: " << seconds.count() << std::endl;
return 0;
}
```
你也可以使用 `std::chrono::time_point` 来指定一个特定的日期时间,并将其转换为秒数。例如,以下代码将 2022 年 2 月 22 日 22 时 22 分 22 秒转换为秒数:
```cpp
#include <chrono>
#include <iostream>
int main()
{
std::tm t = {};
t.tm_year = 2022 - 1900;
t.tm_mon = 1; // February (months are zero-based in std::tm)
t.tm_mday = 22;
t.tm_hour = 22;
t.tm_min = 22;
t.tm_sec = 22;
auto tp = std::chrono::system_clock::from_time_t(std::mktime(&t));
auto seconds = std::chrono::duration_cast<std::chrono::seconds>(tp.time_since_epoch());
std::cout << "Seconds since epoch: " << seconds.count() << std::endl;
return 0;
}
```
注意,以上示例中的 `std::tm` 结构体的月份是从 0 开始计数的,即 0 表示 1 月,1 表示 2 月,以此类推。
阅读全文