将特定时间添加到现有日期戳

时间:2017-04-23 23:29:54

标签: vbscript timestamp

我的老板要我写一个功能,可以确定每个员工完成工作所花费的时间,每个工作花费的时间。我创建了两个变量,一个用于工作开始的时间,另一个用于完成时间。开始时间戳是指工作开始的准确时间。但是,结束时间戳是完成它的一天,但我需要添加一天中的特定时间。

例如,我在4/23/2017 4:07:00 PM开始作业。我在2017年4月24日完成任务。分配不会在每天下午5:00左右检查完毕,因此他希望完成时间的时间戳始终正好在下午5:00,无论标记完成的具体时间如何;这里只有感兴趣的日期。

我已经成功获得了保存的确切时间戳,但是我有不一致的时间让我的固定时间坚持到确定的日期。

我用过:

orderCompleteTimeStamp = CDate(orderCompleteDate + TimeValue("17:00"))

它似乎正确显示,但是当用于计算时差时,orderCompleteTimeStamp中存储的实际值仅为5:00,所以当它尝试做4/23/2017 1:55: 26 PM - 4/23/2017 5:00:00 PM,时差显示-1028348.9。如果我将orderCompleteTimeStamp设置回刚刚计算正确的时间,那么我只能假设它是添加了特定时间的东西。

我有什么想法可以让它发挥作用吗?

1 个答案:

答案 0 :(得分:1)

问题不是很清楚,这段代码对我来说很好;

23/04/2017 17:00:00
4

输出:

DateSerial()

假设您正在检查问题未指定的小时数差异。

如果问题是已有时间组件的日期,请使用Dim dateFromDB: dateFromDB = "23/4/2017 18:23:02" Dim orderStartTimeStamp: orderStartTimeStamp = CDate("23/4/2017 13:55:26") Dim orderCompleteDate: orderCompleteDate = DateSerial(Year(dateFromDB), Month(dateFromDB), Day(dateFromDB)) orderCompleteTimeStamp = CDate(orderCompleteDate + TimeValue("17:00")) WScript.Echo orderCompleteTimeStamp WScript.Echo DateDiff("h", orderStartTimeStamp, orderCompleteTimeStamp) 提取日期组件并创建新的日期变量。

23/04/2017 17:00:00
4

输出:

array