2016-12-15 35 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的表达式。

间隔单元

字符常量,或计算结果的 以下时间单元中的一个字符表达式:“年”,“月”,“星期”,“天”,“小时','分钟','秒'或'毫秒'。这些值是不区分大小写的,可能是单数的 。

相关问题