2012-07-06 160 views
0

今天之前我正在做一个代理发送迟了2天的通知,周日是非工作日。因此,如果今天是星期一,那么代理人将在上周五发送迟到,如果是星期二,它将发送上周六,如果是星期三,它将发送星期一等。我已经知道如何获得今天的日期。我如何在今天前两天获得?如何在LotusScript中获得今天的日期前两天?

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

回答

2

你可以做以下简单的操作来获得一个特定的日期:

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

您还可以使用与NotesDateTime对象:

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

希望这可以帮助你。

1

大厦@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) 

上面的代码没有特殊的情况下今天=星期日。我不清楚你是否可以忽略这种情况或做一些特别的事情。