我搜索了一些关于此的主题,但它们看起来都很模糊。
我有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;
或类似的东西。
答案 0 :(得分:1)
Boost Posix Time Library具有从std::string
获取posix_time值的功能:from_string()
。
答案 1 :(得分:0)
两个事件“冲突”是什么意思?当一个人在另一个人结束之前开始时就会发生所以begin1 < end2 || begin2 < end1
。
如果您的时间总是格式化为HH:MM
,则在转换之前无需将它们转换为其他格式,因为词典顺序已经正确。