我的任务是编写一个方法,在给定开始日期时间和超时(以分钟为单位)的情况下计算超时应该发生的日期时间。
但是,超时只能在特定日期的某些时间“打勾”,这取决于非刻度开始日期时间,非刻度停止日期时间和开放日期列表。
例如,给出以下内容:
计算的超时日期时间应为2014年2月24日星期一17:30(因为周六和周日不会打勾)。
我是用C#编写的,但它在技术上与语言无关。
有这种'优雅'的方式吗?或者仅仅是循环并添加额外时间的情况,其中确定超时应该停止滴答?
答案 0 :(得分:0)
如果你设置一个计时器来勾选每个句点(例如每秒),你可以在计时器的回调处理程序中增加一些刻度。
我会采用以下方式之一。无论如何我都可以每秒运行回调,并且在回调中我可以检查我是否要增加或跳过此期间的增量(在非滴答时间段内)。
否则,无论什么时候我都可以递增,然后检查非滴答时段是否接近,如果是,则调整定时器的回调时间以运行下一个回调 < / em>非滴答时间段已过。