c++ - 无法将带有秒数的字符串从纪元转换为 date_time
问题描述
我有一个包含从纪元开始的秒数的字符串,我如何将此字符串转换
为这样的格式 -
年-月-日 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链接上找到此代码片段 如何将包含时间的字符串变量转换为c++中的time_t类型?
解决方案
你的问题有点令人困惑,但我想我知道你想要什么......
如果时间的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';
推荐阅读
- javascript - 如何为多人同时执行一个功能?
- docusignapi - Docusign 电子签名 REST API 身份验证
- jenkins - Jenkins 脚本化管道 - 解决方案
- python - pytest 名称未定义
- typescript - 如何在 TypeScript 中创建具有类型别名的对象?
- ios - Swift_为什么不显示假期?
- c - 从具有少数成员的结构中将一行写入文件行
- android - React Native App 中的 Flutter Device Preview 等价物?
- r - 在 Windows 上离线安装 R 包“rgdal”及其外部依赖项
- python - 命令行不使用 conda 环境中的 python,即使它处于活动状态,可能是 .bash_profile 中的问题?