2013-03-27 145 views
1

我已經使用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 

回答

3

TimeDifference返回兩個NotesDateTime之間的秒數。一天中有60 * 60 * 24秒,可以達到86400.所以,只需按照上面的方式編寫代碼,然後將結果除以86400即可。(唯一可能需要更改的是您的字段和變量名稱,以反映您使用日期輸入而不是時間的事實。)

+0

非常感謝@Richard。我的代碼現在正在輸出日期。我從你那裏學到了很多東西。 – drayl 2013-03-27 05:09:56

+0

此外 - 您需要將持續時間調長爲Long,而不是Integer。否則,如果他們相隔半天,就會發生溢出。 – 2015-04-30 08:44:27