$Sir Date2NS: Difference between revisions
m (1 revision) |
mNo edit summary |
||
Line 4: | Line 4: | ||
<p class="warning">Most Sirius $functions have been deprecated in favor of Object Oriented methods. The OO equivalent for the $Sir_Date2NS function is [[to be entered]].</p> | <p class="warning">Most Sirius $functions have been deprecated in favor of Object Oriented methods. The OO equivalent for the $Sir_Date2NS function is [[to be entered]].</p> | ||
The <var>$Sir_Date2NS</var> 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 <var>CENTSPAN</var> value and an optional error control string. If an error is detected, the returned value is <code>-9E12</code> (-9000000000000). | |||
==Syntax== | ==Syntax== | ||
<p class="syntax"><section begin="syntax" /> %num = $Sir_Date2NS(dat, fmt, span, errctl) | <p class="syntax"><section begin="syntax" /> %num = $Sir_Date2NS(dat, fmt, span, errctl) | ||
<section end="syntax" /></p> | <section end="syntax" /></p> | ||
===Syntax terms=== | |||
<table class="syntaxTable"> | <table class="syntaxTable"> | ||
<tr><th>dat</th> | <tr><th>dat</th> | ||
<td> | <td>Datetime value string.</td></tr> | ||
<tr><th>fmt</th> | <tr><th>fmt</th> | ||
<td> | <td>Datetime format string corresponding to <var class="term">dat</var>. Refer to [[Datetime string formats|"Datetime string formats"]] for an explanation of valid datetime formats and valid dates. Non-strict matching is used for input format <var class="term">fmt</var>; see [[Datetime string formats#Strict and non-strict format matching|"Strict and non-strict format matching"]].</td></tr> | ||
<tr><th>span</th> | <tr><th>span</th> | ||
<td> | <td>Optional <var>CENTSPAN</var> value; default is -50. </td></tr> | ||
<tr><th>errctl</th> | <tr><th>errctl</th> | ||
<td> | <td>Optional error control string; refer to [[Datetime string formats#Datetime error handling|"Datetime error handling"]].</td></tr> | ||
<tr><th>%num</th> | <tr><th>%num</th> | ||
<td> | <td>Set to the value of <var class="term">dat</var>, converted to the number of seconds from 1 Jan 1900 12:00 AM. | ||
</td></tr></table> | </td></tr></table> | ||
==Usage notes== | |||
< | <ul> | ||
<li>Values returned by <var>$Sir_Date2NS</var> will often exceed the range that can be represented in a 4-byte integer, so you should probably avoid storing the value in a <var>BINARY</var> or <var>FLOAT4</var> field. | |||
<li>Dates prior to 1 January 1900 return a negative number. | |||
<li>The inverse of this $function is <var>[[$Sir_NS2Date]]</var>. | |||
</ | <li>$Sir_Date2NS returns the value <code>-9E12</code> (-9000000000000) in the following cases (see the discussion in [[Datetime string formats#Datetime error handling|"Datetime error handling"]]): | ||
<ul> | <ul> | ||
<li><var class="term">fmt</var> is not a valid datetime format. | |||
<li><var class="term">dat</var> does not match <var class="term">fmt</var>. | |||
<li><var class="term">dat</var> is outside of range permitted for <var class="term">fmt</var>. | |||
<li><var class="term">span</var> is invalid. | |||
</ul> | |||
</ul> | |||
< | ==Example== | ||
The following fragment prints the value <code>86400</code>: | |||
< | <p class="code">%a = $Sir_Date2NS('010695', 'MMDDYY') | ||
%b = $Sir_Date2NS('010595', 'MMDDYY') | |||
< | %c = %a - %b | ||
Print %c | |||
</p> | </p> | ||
<ul class="smallAndTightList"> | <ul class="smallAndTightList"> |
Revision as of 22:04, 8 February 2012
Convert datetime string to number of seconds
Most Sirius $functions have been deprecated in favor of Object Oriented methods. The OO equivalent for the $Sir_Date2NS function is to be entered.
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
<section begin="syntax" /> %num = $Sir_Date2NS(dat, fmt, span, errctl) <section end="syntax" />
Syntax terms
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". |
%num | Set to the value of dat, converted to the number of seconds from 1 Jan 1900 12:00 AM. |
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