Powershell时间范围之间的差异

时间:2015-10-16 12:32:00

标签: powershell time

这比实际编码更像是一个后勤问题,但是我希望有一些我不知道的技巧可以帮助我。

我需要计算2个日期/时间戳之间的时间。 例如:

startDate = September 19, 2015 02:11:46 AM
endDate = October 16, 2015 08:25:27 AM
paused = [array of date/time stamps for when the ticket switches to paused]
unpaused = [array of date/time stamps for when the ticket unpauses]

所以这就是我需要的,我需要知道开始日期和结束日期之间的经过时间,但以下情况除外:

  • 暂停时间不应计入已用时间
  • 早上7点之前的时间不应计入已用时间
  • 下午5点之后的时间不应计入已用时间
  • 周末的时间不应计入已用时间

我的方法只是获取开始和结束之间的差异,然后从暂停状态中减去已用时间。然后减去晚上和周末的时间。这不起作用,因为如果在周末暂停,我最终会双重浸泡。

我正在寻找一种聪明的方法来做到这一点,而无需写出一百万条if语句,并在此过程中逐步完成每一天。

任何想法都会受到赞赏。

0 个答案:

没有答案