如何在正在进行日期和时间的情况下执行算术运算。
例如:在指定日期添加日,月,年。
答案 0 :(得分:2)
ADD-INTERVAL
是你的朋友。对于简单的日期和日期,您还可以使用+和 - 。
ADD-INTERVAL(datetime,interval-amount,interval-unit)
在DATE,DATETIME或DATETIME-TZ值中添加时间间隔或从中减去时间间隔,并返回新值。
<强>日期时间强>
一个表达式,其值为DATE,DATETIME或DATETIME-TZ。
<强>间隔量强>
有符号整数(正数或负数),表示您想要的时间&gt;添加或减去datetime值。
<强>间隔单元强>
字符常量或评估为&gt;之一的字符表达式。以下时间单位:'年&#39;','月&#39;','周&#39;','天&#39;,&#39;小时&#39;,'分钟&#39;,&gt; “秒&#39;或'毫秒&#39;。这些值不区分大小写,可能是 单数。
示例:强>
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,interval-unit)
将两个DATE,DATETIME或DATETIME-TZ值之间的时间间隔作为INT64值返回。
datetime1
一个表达式,其值为DATE,DATETIME或DATETIME-TZ。
<强> DATETIME2 强>
一个表达式,其值为DATE,DATETIME或DATETIME-TZ。
<强>间隔单元强>
一个字符常量,或一个评估为其中一个的字符表达式 以下时间单位:'年&#39;','月&#39;','周&#39;','天&#39;,&#39;小时&#39;,'分钟&#39;,&gt; “秒&#39;或'毫秒&#39;。这些值不区分大小写,可能是 单数。