From m204wiki
Jump to navigation Jump to search

Convert datetime string to number of seconds

Note: Many $functions have been deprecated in favor of Object Oriented methods. The OO equivalent for the $Sir_Date2NS function is StringToSeconds.

The $Sir_Date2NS function expects a datetime value string and a datetime format string and returns the input datetime converted to the number of seconds since 1 January, 1900. It accepts an optional CENTSPAN value and an optional error control string. If an error is detected, the returned value is -9E12 (-9000000000000).


%num = $Sir_Date2NS(dat, fmt, span, errctl)

Syntax terms

%num Set to the value of dat, converted to the number of seconds from 1 Jan 1900 12:00 AM.
dat Datetime value string.
fmt Datetime format string corresponding to dat. Refer to Datetime string formats for an explanation of valid datetime formats and valid dates. Non-strict matching is used for input format fmt; see Strict and non-strict format matching.
span Optional CENTSPAN value; default is -50.
errctl Optional error control string; refer to Datetime error handling.

Usage notes

  • Values returned by $Sir_Date2NS will often exceed the range that can be represented in a 4-byte integer, so you should probably avoid storing the value in a BINARY or FLOAT4 field.
  • Dates prior to 1 January 1900 return a negative number.
  • The inverse of this $function is $Sir_NS2Date.
  • $Sir_Date2NS returns the value -9E12 (-9000000000000) in the following cases (see the discussion in Datetime error handling):
    • fmt is not a valid datetime format.
    • dat does not match fmt.
    • dat is outside of range permitted for fmt.
    • span is invalid.


The following fragment prints the value 86400:

%a = $Sir_Date2NS('010695', 'MMDDYY') %b = $Sir_Date2NS('010595', 'MMDDYY') %c = %a - %b Print %c

Products authorizing $Sir_Date2NS