Skip to content

DateAddMillisecond

See Also: Time and Date Functions

Purpose

The DateAddMillisecond function adds or subtracts a given number of milliseconds to a specified DateTime variable dtVar.

If the added unit exceeds the range of a DateTime section, the entire DateTime is adjusted. For example, adding 48 to hours would add 2 days to the DateTime variable. The returned DateTime variable is always valid.

The DateTime variable passed to the function must be valid and non-null. If this is not the case, a DFERR_INVALID_DATETIME error will be raised. You can use the IsDateValid and IsNullDateTime functions to ensure the value you are passing to this function is valid.

This differs from the DateSetXxx functions, which do not perform date arithmetic (i.e., they just set one DateTime section), and neither the incoming nor outgoing DateTime variable is tested for validity.

This function is part of a family of DateTime manipulation functions that includes: - DateAddDay - DateAddHour - DateAddMillisecond - DateAddMinute - DateAddMonth - DateAddSecond - DateAddYear

The DateSet and CurrentDateTime functions can be used to initialize a DateTime value.

Return Type

DateTime

Syntax

Use GlobalDateTimeFunctions.pkg
DateAddMillisecond({dtVar}, {iMillisecondsToAdd})

Parameters

  • {dtVar}: A value of type DateTime.
  • {iMillisecondsToAdd}: An integer value representing the number of milliseconds to add to or subtract from dtVar.

Example

This example sets the date of a DateTime variable and then adds 1 millisecond to the time.

Procedure Test
    DateTime dtVar
    Move (DateSet(2015, 9, 26)) to dtVar
    Move (DateAddMillisecond(dtVar, 1)) to dtVar
    // This will print (using US date settings):
    // 9/26/2015 12:00:00.001 AM
    Showln dtVar
End_Procedure

This example sets the date of a DateTime variable and then subtracts 1 millisecond from the time.

Procedure Test
    DateTime dtVar
    Move (DateSet(2015, 9, 26)) to dtVar
    Move (DateAddMillisecond(dtVar, -1)) to dtVar
    // This will print (using US date settings):
    // 9/25/2015 11:59:59.999 PM
    Showln dtVar
End_Procedure

DateAddXxx Functions vs. DateSetXxx

The DateAddXxx functions differ from the DateSetXxx functions, which do not perform date arithmetic (i.e., they just set one DateTime section), and neither the incoming nor outgoing DateTime variable is tested for validity.

In most cases, the DateSet function and the DateAddXxx functions (including DateAddDay, DateAddHour, DateAddMillisecond, DateAddMinute, DateAddMonth, DateAddSecond, DateAddYear) can be used in preference to the DateSetXxx functions (DateSetDay, DateSetHour, DateSetMillisecond, DateSetMinute, DateSetMonth, DateSetSecond, DateSetYear). The DateSetXxx functions are lower level and should be rarely used.