我已经有为此工作的(丑陋的)代码,但无论如何我都会问:
我在工作日有时间间隔 [09:15, 10:00), [21:10, 21:45)。给定时间t
和秒数s
,如果t
在间隔内,我必须计算t - s
将落入的日期和时间。
- 示例:t = 20130913 21:15,s = 600,t - s 落入 20130913 09:55。
- 示例:t = 20130923 09:16,s = 120,t - s 落入 20130920 21:44。
有没有办法在 C++ 中干净地做到这一点(boost::icl?boost::date_time?)
我试过boost::icl,它当然可以将时间范围保存在an中interval_set<Time>
并找到某个区间Time
,但是如果t - s
时间点不属于区间范围,我不知道如何找到最近的区间在那个时间点之前,以及如何检测我是否必须回去一天或整个周末。