我试图弄清楚如何通过从给定的到期日期/时间中减去给定的小时数来计算日期/时间,以便我知道何时需要在产品组件上启动流程步骤才能拥有它及时完成发货给客户。
例如,产品需要在 2017 年 9 月 15 日 15:00 之前准备好发货给客户
最后的组装和验证步骤,从最后到第一个,是
向后工作
我花了一天时间寻找一个与我想要的足够接近的示例,我认为我将不得不对 DateTime 函数做一些事情,我只是不确定目前是什么
最佳答案
您可以通过简单地减去 n/24
从日期中减去 n 小时。从中。您也可以使用 TimeSerial
减去小时、分钟和秒的功能。此示例说明了这两种方法,它使用这两种方法从当前时间中减去 1 个半小时。
Sub substractDates()
Dim d1 As Date, d2 As Date, d3 as Date
d1 = Now()
d2 = d1 - TimeSerial(1, 30, 0)
d3 = d1 - 1.5 / 24
Debug.Print d1, d2, d3
End Sub
p.s.第三种方法是使用
TimeValue("1:30:0")
相当于TimeSerial(1, 30, 0)
.
关于vba - 从给定的日期/时间减去指定的小时数以获得新的日期/时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45245033/