今天之前我正在做一个代理发送迟了2天的通知,周日是非工作日。因此,如果今天是星期一,那么代理人将在上周五发送迟到,如果是星期二,它将发送上周六,如果是星期三,它将发送星期一等。我已经知道如何获得今天的日期。我如何在今天前两天获得?如何在LotusScript中获得今天的日期前两天?
Dim tdy, dayToUse
Dim intl As NotesInternational
Set intl = ss.International
tdy=intl.Today
今天之前我正在做一个代理发送迟了2天的通知,周日是非工作日。因此,如果今天是星期一,那么代理人将在上周五发送迟到,如果是星期二,它将发送上周六,如果是星期三,它将发送星期一等。我已经知道如何获得今天的日期。我如何在今天前两天获得?如何在LotusScript中获得今天的日期前两天?
Dim tdy, dayToUse
Dim intl As NotesInternational
Set intl = ss.International
tdy=intl.Today
你可以做以下简单的操作来获得一个特定的日期:
dayToUse = DateNumber(Year(Now), Month(Now), Day(Now) - 2)
您还可以使用与NotesDateTime对象:
Dim dateTime As New NotesDateTime("Today")
Call dateTime.AdjustDay(-2)
希望这可以帮助你。
大厦@Per亨里克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)
上面的代码没有特殊的情况下今天=星期日。我不清楚你是否可以忽略这种情况或做一些特别的事情。