我的任务是编写一个方法,在给定的开始日期时间和超时时间(以分钟为单位)的情况下,计算超时应该发生的日期时间。
但是,超时只应在特定日期的特定时间内“滴答”,这是由非滴答开始日期时间、非滴答停止日期时间和开放日列表确定的。
例如,考虑到以下情况:
计算的超时日期应该是2014年2月24日星期一17:30 (因为它没有在周六和周日勾选)。
我用C#写这篇文章,但它的技术语言是不可知论的。
有什么“优雅”的方法吗?还是仅仅是循环并增加额外的时间,从而确定超时应该停止滴答?
发布于 2014-02-21 15:48:04
如果您设置一个计时器来勾选每一个句点(例如,每一秒),则可以在计时器的回调处理程序中增加一些滴答。
我会以以下的一种方式来处理。无论在什么情况下,我都可以每秒钟运行一次回调,在回调中,我可以检查是否要增加或跳过这个时间段的增量(在非勾选时间段内)。
否则,无论发生什么,我都可以每次递增,然后检查非滴答周期是否接近,如果是,则调整计时器的回调时间,以便在非滴答时间段过去后运行下一个回调。
https://stackoverflow.com/questions/21938777
复制相似问题