为了账号安全,请及时绑定邮箱和手机立即绑定

如何在C ++中将包含时间的字符串变量转换为time_t类型?

如何在C ++中将包含时间的字符串变量转换为time_t类型?

C++
BIG阳 2019-12-03 16:01:35
我有一个包含hh:mm:ss格式的时间的字符串变量。如何将其转换为time_t类型?例如:string time_details =“ 16:35:12”另外,如何比较两个包含时间的变量,以便确定哪个是最早的?例如:string curr_time =“ 18:35:21” string user_time =“ 22:45:31”
查看完整描述

3 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

您可以使用strptime(3)解析时间,然后mktime(3)将其转换为time_t:


const char *time_details = "16:35:12";

struct tm tm;

strptime(time_details, "%H:%M:%S", &tm);

time_t t = mktime(&tm);  // t is now your desired time_t


查看完整回答
反对 回复 2019-12-03
?
慕村9548890

TA贡献1884条经验 获得超4个赞

使用C ++ 11,您现在可以执行


struct std::tm tm;

std::istringstream ss("16:35:12");

ss >> std::get_time(&tm, "%H:%M:%S"); // or just %T in this case

std::time_t time = mktime(&tm);

请参阅std :: get_time和strftime以供参考


查看完整回答
反对 回复 2019-12-03
  • 3 回答
  • 0 关注
  • 797 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信