如何在进行中的给定日期中添加月份

时间:2016-12-15 20:11:30

标签: openedge

如何在正在进行日期和时间的情况下执行算术运算。

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

1 个答案:

答案 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;。这些值不区分大小写,可能是   单数。