2013-03-27 5 views
1

Я сделал код, используя lotusscript, который будет вычислять разницу во времени между двумя полями, теперь я хочу рассчитать разницу между датами. Я довольно много начал многопользовательскую работу, и у меня все еще есть минимальные знания об этом. Надеюсь, ты поможешь мне. Вот код, который я сделал для расчета разницы во времени: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 возвращает количество секунд между двумя моментами NotesDateTimes. Есть 60 * 60 * 24 секунды в день, и это работает до 86400. Так что просто напишите свой код точно так же, как указано выше, и разделите результат на 86400. (Единственное, что вы можете изменить, это ваши имена полей и переменных , чтобы отразить тот факт, что вы работаете с вводом даты вместо времени.)

+0

спасибо alot @Richard. Мой код теперь выводит даты. Я многому научился у вас. – drayl

+0

Кроме того, вам нужно будет удалить свою продолжительность как Long, а не Integer. В противном случае вы получите переполнение, если они будут даже полдня друг от друга. –

Смежные вопросы