有没有办法为一个日期设置一个自定义的小时周期(不同于24小时)



我在Outlook中使用VBA,从票证(电子邮件(中包含的信息开始计算票证(邮件(的服务级别协议(过期(。
干预时间为11小时30分钟,仅在工作日从08:00到19:30
为了了解工作日,我没有任何问题。

我知道这些工具:https://www.tutorialspoint.com/vba/vba_date_time.htm但它们是基于24小时的周期。

有没有办法设置24小时以外的周期?(在我的情况下,一天是11小时30米。(

Mech的评论让我思考。。。考虑到一天的成本低于24小时意味着剩余的小时数(在我的情况下为24h-11H:30M=12H:30M(是要忽略的偏移值(即跳过(。因此,在我的情况下:

Dim startDate As Variant
Dim newDate As Variant
startDate = CDate("05/11/2020 19:00")
newDate = DateAdd("h", 12, startDate) 'hours to skip
newDate = DateAdd("n", 30, newDate) 'n=minute to skip
newDate = DateAdd("h", 6, newDate) 'hours to add
MsgBox newDate 'shows 06/11/2020 13:30

我将对这个概念进行抽象,并在我的GitHub上发布。

谢谢机械

最新更新