私はすでにこのための(醜い)コードを持っていますが、とにかく尋ねます:
平日は [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を試しました。確かに時間範囲を保持しinterval_set<Time>
、特定の間隔を見つけることができますTime
が、t - s
時点が間隔範囲に入らない場合、最も近い間隔を見つける方法がわかりませんその時点の前に、1 日または週末全体に戻る必要があるかどうかを検出する方法。