Subtracts a number of milliseconds from a DATETIME or a DATETIME-TZ to produce another DATETIME or DATETIME-TZ, or subtracts one DATETIME or DATETIME-TZ from another to produce an INT64 result in milliseconds.
Syntax
datetime - {milliseconds|datetime}
datetime-tz - {milliseconds|datetime-tz}
datetime
An expression that evaluates to a DATETIME value.
milliseconds
An expression that evaluates to an integer value specifying a number of milliseconds.
datetime-tz
An expression that evaluates to a DATETIME-TZ value.
Example
This example returns the date and time exactly 24 hours ago (dtTime). It then recalculates the number of hours (iHours) from the number of milliseconds (iMsec) since then and displays the result:
DEFINE VARIABLE dtTime AS DATETIME NO-UNDO.
DEFINE VARIABLE iMsec AS INT64 NO-UNDO.
DEFINE VARIABLE iHour AS INTEGER NO-UNDO INITIAL 3600000.
DEFINE VARIABLE fHours AS DECIMAL NO-UNDO.
ASSIGN
dtTime = NOW - (24 * iHour) iMsec = NOW - DATETIME-TZ(dtTime) fHours = iMsec / iHour.
MESSAGE "A day earlier: " dtTime " "
"Current hours since then: " fHours VIEW-AS ALERT-BOX.
Notes
To get the number of days between two DATETIME or DATETIME-TZ variable values, use the DATE function. For example:
num-days = DATE(dt2) - DATE(dt1)
This operation does not take the time portion into account.
To ensure the correct result when working with two DATETIME-TZ values, convert one of the values to the time zone of the other. For example: