string转成年月日时分秒时间类型
时间: 2023-09-30 15:02:04 浏览: 97
Android 实现秒转换成时分秒的方法
你可以使用C++标准库中的stringstream类来将string类型转换为时间类型。以下是一个示例代码,假设输入的字符串为"2022-01-01 12:30:45":
```c++
#include <iostream>
#include <sstream>
#include <ctime>
int main() {
std::string str = "2022-01-01 12:30:45";
std::tm t = {};
std::stringstream ss(str);
ss >> std::get_time(&t, "%Y-%m-%d %H:%M:%S");
std::time_t time = std::mktime(&t);
std::cout << "The time is: " << std::asctime(std::localtime(&time)) << std::endl;
return 0;
}
```
输出结果为:
```
The time is: Sat Jan 1 12:30:45 2022
```
在上面的代码中,我们首先定义了一个空的tm结构体t,用于存储转换后的时间信息。然后,我们使用stringstream类将输入的字符串转换为tm结构体中的各个成员变量。这里的"%Y-%m-%d %H:%M:%S"是一个时间格式化字符串,表示输入的字符串中各个时间部分的格式。
接着,我们使用mktime函数将tm结构体转换为time_t类型的时间戳。最后,我们使用asctime函数将时间戳转换为可读性更好的字符串输出。
阅读全文