Vbscript 向现有日期戳添加特定时间

Vbscript 向现有日期戳添加特定时间,vbscript,timestamp,Vbscript,Timestamp,我的老板让我写一个函数,可以确定每个员工完成工作所需的时间,即每个任务所花的时间。我创建了两个变量,一个用于工作开始的时间,另一个用于工作完成的时间。开始时间戳是指工作开始的准确时间。但是,结束时间戳是以完成日期为准,但我需要添加一天中的特定时间 例如,我在2017年4月23日下午4:07:00开始一项作业。我于2017年4月24日完成任务。直到每天下午5:00左右,作业才算完成,因此他希望完成时间上的时间戳始终精确到下午5:00,而不管标记为完成的具体时间;这里只对日期感兴趣 我已经成功地获得

我的老板让我写一个函数,可以确定每个员工完成工作所需的时间,即每个任务所花的时间。我创建了两个变量,一个用于工作开始的时间,另一个用于工作完成的时间。开始时间戳是指工作开始的准确时间。但是,结束时间戳是以完成日期为准,但我需要添加一天中的特定时间

例如,我在2017年4月23日下午4:07:00开始一项作业。我于2017年4月24日完成任务。直到每天下午5:00左右,作业才算完成,因此他希望完成时间上的时间戳始终精确到下午5:00,而不管标记为完成的具体时间;这里只对日期感兴趣

我已经成功地获得了要保存的准确时间戳,但在将设置的时间保留到确定的日期时出现了不一致的情况

我用过:

orderCompleteTimeStamp = CDate(orderCompleteDate + TimeValue("17:00"))
它似乎显示正确,但是当用于计算时差时,
orderCompleteTimeStamp
中存储的实际值仅为5:00,因此当它尝试执行2017年4月23日下午1:55:26-2017年4月23日下午5:00时,时差显示为-1028348.9。如果我将
orderCompleteTimeStamp
设置回只计算正确的精确时间,那么我只能假设它是特定时间的加法


有什么办法可以让它工作吗?

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

Dim orderStartTimeStamp: orderStartTimeStamp = CDate("23/4/2017 13:55:26")
Dim orderCompleteDate: orderCompleteDate = CDate("23/4/2017")
orderCompleteTimeStamp = CDate(orderCompleteDate + TimeValue("17:00"))

WScript.Echo orderCompleteTimeStamp
WScript.Echo DateDiff("h", orderStartTimeStamp, orderCompleteTimeStamp)
输出:

2017年4月23日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)
输出:

2017年4月23日17:00:00
4.

您需要显示一些代码,而不仅仅是如何添加时间。使用
DateDiff()
计算差异的方法如何?