c++ “%Y-%m-%d %H:%M:%S” 时间转换
时间: 2024-06-14 15:02:26 浏览: 202
日期与时间编程相关内容
在C++中,`%Y-%m-%d %H:%M:%S` 是一种日期时间格式化字符串,用于表示ISO 8601标准中的日期和时间,其中:
- `%Y` 表示四位数的年份(例如2022)
- `%m` 表示两位数的月份(01到12)
- `%d` 表示两位数的日期(01到31)
- `%H` 表示24小时制的小时(00到23)
- `%M` 表示分钟(00到59)
- `%S` 表示秒(00到59)
如果你有一个`std::tm`对象或者其他类型的时间结构,想要按照这个格式输出,可以使用`std::strftime()`函数。这里是一个简单的例子:
```cpp
#include <iostream>
#include <ctime>
int main() {
// 获取当前时间
std::time_t now = std::time(0);
std::tm* t = std::localtime(&now);
// 定义输出格式
char buffer[20];
std::strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", t);
// 输出结果
std::cout << "Current time: " << buffer << "\n";
return 0;
}
```
当你运行这段代码时,它会显示当前时间的`%Y-%m-%d %H:%M:%S`格式。
如果你有一个更具体的日期或时间值,比如`std::chrono::system_clock::now()`返回的时间,你需要先将其转换为`std::tm`对象再进行格式化。
阅读全文