我有一个字符串,其中包含从纪元开始的秒数,我该如何将该字符串转换为格式
这样-
YEAR-MONTH-DAY HH:MM:SS
此处MONTH应显示月份数字,而DAY则应显示日期数字。时间也必须采用24小时制。
例如:
2019-06-26 11:14:25
我曾经尝试过使用strptime,但是还没有成功,有人可以帮我解决我做错的事情。
这是我到目前为止尝试过的
int main()
{
string timee = "12341234534";
const char *ptr = timee.c_str();
struct tm tim;
strptime(ptr, "%S", &tim);
time_t abcd = mktime(&tim);
cout<<abcd;
return 0;
}
在另一个stackoverflow链接上找到了此代码段 How to convert a string variable containing time to time_t type in c++?
答案 0 :(得分:1)
您的问题有点令人困惑,但我想我已经弄清楚了您想要什么...
如果时间采用time_t
兼容格式,则只需将其直接读取到time_t
变量中,然后通过std::localtime
进行转换,以便您可以使用以下格式将其输出std::put_time
。
类似
std::time_t time;
std::cin >> time;
std::cout << std::put_time(std::localtime(&time), "%F %T") << '\n';