$Sir_Date2NS

From m204wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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).

Syntax

%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.

Example

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