如何将存储在字符串变量中的时间转换为时间格式?

时间:2013-12-22 12:51:44

标签: c++ string time

我搜索了一些关于此的主题,但它们看起来都很模糊。

我有4个字符串变量,包含代表2个事件的开始时间和结束时间的时间,格式为“17:30”或“01:20”等。

我想写一个函数来确定它们是否发生冲突。所以我正在寻找的是像

string beginTime1 = "01:30";
string beginTime2 = "03:30";
string endTime1 = "01:30";
string endTime2 = "01:30";
time begin1, begin2, end1, end2;

begin1 = toTime(beginTime1);
begin2 = toTime(beginTime2);
end1 = toTime(endTime1);
end2 = toTime(endTime2);

If (begin2 > begin1 && begin2 < end1)
    return clash;

或类似的东西。

2 个答案:

答案 0 :(得分:1)

Boost Posix Time Library具有从std::string获取posix_time值的功能:from_string()

答案 1 :(得分:0)

两个事件“冲突”是什么意思?当一个人在另一个人结束之前开始时就会发生所以begin1 < end2 || begin2 < end1

如果您的时间总是格式化为HH:MM,则在转换之前无需将它们转换为其他格式,因为词典顺序已经正确。