以下のようなスケジュールを受け取るタスクがあります(例):
3,5,6 (曜日を表す)
9:30~13:45、15:12~18:75(時間帯あり)
これらの曜日とスロットは、1 年以上適用されます。
現在、それらを構成ファイルに保存しています。したがって、これらのスケジュールに基づいてタスクを開始する必要があります。つまり、3 番目の曜日の 9:30 にタスクを開始し、13:45 に達したら一時停止する必要があります。
製品には C++ を使用しています。今のところブーストは使えません。
Q: これを達成するための最良の方法は何だと思いますか? 基本的に split( must ) を実装してから、システムの日付と比較すると、コードが煩雑になり、バグがある程度発生します。
人々は以前にも同様の問題に直面していたと思います。私は、一日の終わり、開始、飛躍、非飛躍などのすべての境界ケースをカバーするための最善のアプローチにもっと集中しています。あなたの経験から、人々が提案する最善かつ効率的なアプローチはありますか?
ありがとう〜サントッシュ