我想计算Lotusscript中的2个日期差异(IBM Lotus Notes 8.5)

时间:2011-10-18 06:40:38

标签: lotus-notes lotus-domino lotusscript

我想计算Lotusscript中的两个日期差异。 例如(10/18/2011 - 08/18/2011)= 71天

4 个答案:

答案 0 :(得分:5)

来自Lotus Designer帮助:

TimeDifference方法,查找一个日期时间与另一个日期时间之间的差异。

notesDateTime.TimeDifference( notesDateTime )

答案 1 :(得分:1)

d1 = DateNumber(2011,10,18)
d2 = DateNumber(2011,8,18)

d1 = d1 - d2
MessageBox d1

答案 2 :(得分:0)

这在很大程度上取决于你将日期存储在哪里。日期编程是Lotusscript的一大难题。

如果您正在使用NotesDateTime对象,那么Jasper的解决方案是最好的,尽管我对从什么中减去什么感到困惑。

一种简单的方法就是将日期时间项值转换为单数和减去。小数点前面的部分是天,后面的部分是小时等......

答案 3 :(得分:0)

以下是一个片段,您可以将其放入按钮中以查看其工作原理:

Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace   
Dim uidoc As NotesUIDocument        
Dim doc As NotesDocument            
Dim startDT As New NotesDateTime("")
Dim endDT As New NotesDateTime("")
Dim diff As Long

Set uidoc = workspace.CurrentDocument   
Set doc = uidoc.Document        

Set startDT = doc.getFirstItem("StartDate").dateTimeValue
Call startDT.SetAnyTime 
Set endDT = doc.GetFirstItem("ReturnDate").dateTimeValue
Call endDT.SetAnyTime   
diff = startDT.TimeDifference(endDT)    
Msgbox Cstr(diff)   
End Sub

这是我一直帮助我了解数字的表格:

<table>
  <tr>
    <th>startDT</th>
    <th>endDT</th>
    <th>Result</th>
  </tr>
  <tr>
    <td>June</td>
    <td>March</td>
    <td>Positive</td>
  </tr>
  <tr>
    <td>June</td>
    <td>October</td>
    <td>Negative</td>
  </tr>
</table>

如果3月是3,你必须添加(即Postive)才能到6月,即6.如果6月仍是6,从10月开始,你必须减去(即负数)。