如何在LotusScript之前获取2天的日期?

时间:2012-07-06 03:48:25

标签: lotus-notes lotusscript

我正在做一名代理人,要求在今天晚些时候发送通知2天,周日是非工作日。因此,如果今天是星期一,代理人将在上周五发送迟到,如果星期二,它将在上周六发送,如果星期三,它将发送星期一等等我已经知道如何获得今天的日期。我如何在今天前2天获得?

Dim tdy, dayToUse
Dim intl As NotesInternational
Set intl = ss.International
tdy=intl.Today

2 个答案:

答案 0 :(得分:3)

您可以执行以下简单操作来获取特定日期:

dayToUse = DateNumber( Year( Now ), Month( Now ), Day( Now ) - 2 )

您还可以使用NotesDateTime对象:

Dim dateTime As New NotesDateTime( "Today" )
Call dateTime.AdjustDay( -2 )

希望这可以帮到你。

答案 1 :(得分:1)

以@Per Henrik Lausten的回应为基础:

为了排除星期日,您可以使用工作日功能。它是LotusScript语言的内置函数,而不是NotesDateTime类的方法。它需要LotusScript日期作为输入,而不是NotesDateTime。所以你可能想做这样的事情:

Dim dateTime As New NotesDateTime( "Today" )
Dim day as variant
dim adjustment as integer

day = CDat(dateTime.dateOnly)
if Weekday(day) = 2 or Weekday(day) = 3 then ' Monday or Tuesday
   adjustment = -3
else
   adjustment = -2 ' any other day 
end if

Call dateTime.AdjustDay( adjustment )

以上代码对Today = Sunday没有特殊情况。我不清楚你是否可以忽略这种情况或做一些特别的事情。