2015-06-24 20 views

回答

1

我假設你知道多少天之前,是如何上週日,在這種情況下,你可以使用這個功能

AddToDate(date, num_years, num_months, num_days) 

它會返回一個日期

例如

AddToDate(Date(),0,0,-3),假設週日是前3天

+1

好了,上面的功能我工作f距離星期日3天,但我希望日期在每天打開頁面的前一個星期日。 – sairam

+1

用星期幾(date())* -1代替-3,如果我沒有錯,星期日星期幾是零,我現在不在辦公室,所以我不能確認 –

1

假設你想要最後一個星期日,例如今天是2015年6月30日,那麼上一個星期日是28/06/20 15。

這樣做,你可以使用

Local date &dt = %Date;

Local number &num = Weekday(&dt); 
WinMessage(Date(&dt - (&num - 1)), 0); 

Weekday函數從1(星期日)數值返回到7(星期六)。 所以,如果你知道今天的日期(%日期),那麼從它得到工作日。

如果您想獲取除當前日期以外的其他日期,請使用DateValue(date_str) 其中date_srt是所需日期的字符串值。

這樣做的另一種方式是

SQLExec(select To_date(:1,'DD/MM/YYYY') - (To_Char(To_date(:1,'DD/MM/YYYY'), 'D') -1) from dual, &dtValue, &dtSunday); 

替代& dtValue您要

訪問http://peoplesoftdotnet.blogspot.com.au/更多的技巧

-1

這裏的日期代碼:

%日期用於檢索SYSDATE。
我已添加一些註釋以驗證結果。

/* Code Begins Here */ 

Local date &dtSunday; 

Local integer &i; 

MessageBox(0, "", 0, 0, "SYSDATE - " | %Date); 

MessageBox(0, "", 0, 0, "Previous Sunday - 28-June-2015"); 

&i = Weekday(%Date); 

&dtSunday = AddToDate(%Date, 0, 0, - (&i - 1)); 

MessageBox(0, "", 0, 0, "Computed Sunday - " | &dtSunday); 

/* Code Ends Here */ 

下面是結果:

SYSDATE - 2015年7月2日(0,0)

上週日 - 28日至2015年(0,0)

已計算日 - 2015年6月28日(0,0)

相關問題