Lotus Notes Domino获取日期差异
问题描述:
我已经使用lotusscript编写了一个代码来计算两个字段之间的时间差,现在我想计算日期之间的差异。我已经开始lotusscripting,我仍然有最低限度的知识。希望您能够帮助我。下面是我用来计算时间差的代码:Lotus Notes Domino获取日期差异
Sub UpdateDuration()
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim starttime As NotesDateTime
Dim endtime As NotesDateTime
Dim duration As Integer
Set uidoc = ws.CurrentDocument
If uidoc.FieldGetText("StartTime") = "" Then
Exit Sub
Elseif uidoc.FieldGetText("StartTime") = "" Then
Exit Sub
End If
Set starttime = New NotesDateTime(uidoc.FieldGetText("StartTime"))
Set endtime = New NotesDateTime(uidoc.FieldGetText("EndTime"))
duration = endtime.TimeDifference(starttime)
Call uidoc.FieldSetText("Duration", Cstr(duration))
Call uidoc.Refresh()
End Sub
答
TimeDifference返回两个NotesDateTime之间的秒数。一天中有60 * 60 * 24秒,可以达到86400.所以,只需按照上面的方式编写代码,然后将结果除以86400即可。(唯一可能需要更改的是您的字段和变量名称,以反映您使用日期输入而不是时间的事实。)
非常感谢@Richard。我的代码现在正在输出日期。我从你那里学到了很多东西。 – drayl 2013-03-27 05:09:56
此外 - 您需要将持续时间调长为Long,而不是Integer。否则,如果他们相隔半天,就会发生溢出。 – 2015-04-30 08:44:27