首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >计算在特定期间暂停的超时。

计算在特定期间暂停的超时。
EN

Stack Overflow用户
提问于 2014-02-21 15:42:03
回答 1查看 145关注 0票数 0

我的任务是编写一个方法,在给定的开始日期时间和超时时间(以分钟为单位)的情况下,计算超时应该发生的日期时间。

但是,超时只应在特定日期的特定时间内“滴答”,这是由非滴答开始日期时间、非滴答停止日期时间和开放日列表确定的。

例如,考虑到以下情况:

  • 开始日期::2014年2月21日星期五15:00
  • 超时:720分钟(12小时)
  • 开放日:星期一,星期二,星期三,星期四,星期五
  • 非勾起时间:09:00
  • 不滴答停止时间:18:30

计算的超时日期应该是2014年2月24日星期一17:30 (因为它没有在周六和周日勾选)。

我用C#写这篇文章,但它的技术语言是不可知论的。

有什么“优雅”的方法吗?还是仅仅是循环并增加额外的时间,从而确定超时应该停止滴答?

EN

回答 1

Stack Overflow用户

发布于 2014-02-21 15:48:04

如果您设置一个计时器来勾选每一个句点(例如,每一秒),则可以在计时器的回调处理程序中增加一些滴答。

我会以以下的一种方式来处理。无论在什么情况下,我都可以每秒钟运行一次回调,在回调中,我可以检查是否要增加或跳过这个时间段的增量(在非勾选时间段内)。

否则,无论发生什么,我都可以每次递增,然后检查非滴答周期是否接近,如果是,则调整计时器的回调时间,以便在非滴答时间段过去后运行下一个回调。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21938777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档