2016-12-15 54 views
0

如何執行日期和時間正在進行的算術運算正在進行中。如何在給定的日期中添加月份進行中opensge

例如:在給定日期添加日,月,年。

+0

這是一個非常廣泛的問題,而且你沒有表現出自己的努力。你有沒有嘗試一個教程,如果是的話,你剛剛在哪裏遇到困難? –

+0

謝謝羅裏, 首先,我試圖給自己,但我沒有找到確切的解決方案。你能分享一些筆記,以便學習目的。其實我完全是初學者,我只有一個資源,即你們。所以請幫助我學習開放。 謝謝, – Purushottam

回答

2

ADD-INTERVAL是你的朋友。對於簡單日期和日期,您還可以使用+和 - 。

ADD-INTERVAL(日期時間,間隔量,間隔單元)

添加一個時間間隔,或減去一個時間間隔,日期,DATETIME或DATETIME-TZ值,並且返回新的價值。

日期時間

其值爲DATE,DATETIME或DATETIME-TZ的表達式。

間隔量

有符號表示要的時間量>添加到或從日期時間值減去整數(正或負)。

間隔單元

字符常量,或計算結果爲>以下時間單元中的一個字符表達式:「年」,「月」,「星期」,「天」,「小時','分鐘','秒'或'毫秒'。這些值不區分大小寫,並且可能是單數的 。

例子:

DEFINE VARIABLE dToday AS DATE  NO-UNDO. 
DEFINE VARIABLE dNow AS DATETIME NO-UNDO. 

dToday = TODAY. 

DISPLAY dToday        LABEL "Today"  WITH FRAME frDate SIDE-LABELS 1 COLUMN. 
DISPLAY dToday + 1       LABEL "Tomorrow 1" WITH FRAME frDate. 
DISPLAY ADD-INTERVAL(dToday, 1, "day") LABEL "Tomorrow 2" WITH FRAME frDate. 
DISPLAY ADD-INTERVAL(dToday, 1, "week") LABEL "Next week" WITH FRAME frDate. 
DISPLAY ADD-INTERVAL(dToday, -1, "week") LABEL "Last week" WITH FRAME frDate. 
DISPLAY ADD-INTERVAL(dToday, 1, "month") LABEL "Next month" WITH FRAME frDate. 
DISPLAY ADD-INTERVAL(dToday, 1, "year") LABEL "Next year" WITH FRAME frDate. 

dNow = NOW. 

DISPLAY dNOW        LABEL "Now"   WITH FRAME frDateTime SIDE-LABELS 1 COLUMN. 
DISPLAY ADD-INTERVAL(dNow, 1, "hour") LABEL "Next hour"  WITH FRAME frDateTime. 
DISPLAY ADD-INTERVAL(dNow, 30, "minute") LABEL "In 30 minutes" WITH FRAME frDateTime. 

DISPLAY INTERVAL(dToday + RANDOM(1,30), dToday, "minutes") LABEL "Difference in minutes". 

您還可以使用INTERVAL獲得兩個日期或日期時間之間的差異。

INTERVAL(datetime1,DATETIME2,間隔單元)

返回兩個DATE,DATETIME,或作爲INT64值DATETIME-TZ值之間的時間間隔。

datetime1

其值爲DATE,DATETIME或DATETIME-TZ的表達式。

DATETIME2

其值爲DATE,DATETIME或DATETIME-TZ的表達式。

間隔單元

字符常量,或計算結果的 以下時間單元中的一個字符表達式:「年」,「月」,「星期」,「天」,「小時','分鐘','秒'或'毫秒'。這些值是不區分大小寫的,可能是單數的 。

相關問題