$Sir Date2NS: Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (1 revision)
m (misc cleanup)
 
(18 intermediate revisions by 3 users not shown)
Line 2: Line 2:
<span class="pageSubtitle">Convert datetime string to number of seconds</span>
<span class="pageSubtitle">Convert datetime string to number of seconds</span>


<p class="warning">Most Sirius $functions have been deprecated in favor of Object Oriented methods. The OO equivalent for the $Sir_Date2NS function is <var>[[StringToSeconds (String function)|StringToSeconds]]</var>.</p>
<p class="warn"><b>Note: </b>Many $functions have been deprecated in favor of Object Oriented methods. The OO equivalent for the $Sir_Date2NS function is <var>[[StringToSeconds (String function)|StringToSeconds]]</var>.</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).
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" /><span class="term">%num</span> <span class="literal">= $Sir_Date2NS(</span><span class="term">dat</span><span class="literal">,</span> <span class="term">fmt</span><span class="literal">,</span> <span class="term">span</span><span class="literal">,</span> <span class="term">errctl</span><span class="literal">)</span>
<p class="syntax"><span class="term">%num</span> <span class="literal">= $Sir_Date2NS(</span><span class="term">dat</span><span class="literal">,</span> <span class="term">fmt</span><span class="literal">,</span> <span class="term">span</span><span class="literal">,</span> <span class="term">errctl</span><span class="literal">)</span>
<section end="syntax" /></p>
</p>


===Syntax terms===
===Syntax terms===
<table class="syntaxTable">
<table>
<tr><th>%num</th>
<tr><th>%num</th>
<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>Set to the value of <var class="term">dat</var>, converted to the number of seconds from <code>1 Jan 1900 12:00 AM</code>.
</td></tr>
</td></tr>
<tr><th>dat</th>
<tr><th>dat</th>
<td>Datetime value string.</td></tr>
<td>Datetime value string.</td></tr>
<tr><th>fmt</th>
<tr><th>fmt</th>
<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>
<td>Datetime format string corresponding to <var class="term">dat</var>. Refer to [[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>Optional <var>CENTSPAN</var> value; default is -50. </td></tr>
<td>Optional <var>CENTSPAN</var> value; default is -50. </td></tr>
<tr><th>errctl</th>
<tr><th>errctl</th>
<td>Optional error control string; refer to [[Datetime string formats#Datetime error handling|"Datetime error handling"]].</td></tr>
<td>Optional error control string; refer to [[Datetime string formats#Datetime error handling|Datetime error handling]].</td></tr>
</table>
</table>


==Usage notes==
==Usage notes==
<ul>
<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>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>
<li>Dates prior to 1 January 1900 return a negative number.  
 
<li>The inverse of this $function is <var>[[$Sir_NS2Date]]</var>.
<li>Dates prior to 1 January 1900 return a negative number.</li>
<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"]]):  
<li>The inverse of this $function is <var>[[$Sir_NS2Date]]</var>.</li>
 
<li><var>$Sir_Date2NS</var> 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">fmt</var> is not a valid datetime format.</li>
<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">dat</var> does not match <var class="term">fmt</var>.</li>
<li><var class="term">span</var> is invalid.
 
</ul>
<li><var class="term">dat</var> is outside of range permitted for <var class="term">fmt</var>.</li>
 
<li><var class="term">span</var> is invalid.</li>
</ul></li>
</ul>
</ul>


Line 47: Line 57:
</p>
</p>


 
==Products authorizing {{PAGENAMEE}}==
<h2>Products authorizing {{PAGENAMEE}}</h2><ul class="smallAndTightList">
<ul class="smallAndTightList">
<li>[[Sirius functions]]</li>
<li>[[List of $functions|Sirius functions]]</li>
<li>[[Fast/Unload User Language Interface]]</li>
<li>[[Fast/Unload User Language Interface]]</li>
<li>[[Janus Open Client]]</li>
<li>[[Media:JoclrNew.pdf|Janus Open Client]]</li>
<li>[[Janus Open Server]]</li>
<li>[[Media:JosrvrNew.pdf|Janus Open Server]]</li>
<li>[[Janus Sockets]]</li>
<li>[[Janus Sockets]]</li>
<li>[[Janus Web Server]]</li>
<li>[[Janus Web Server]]</li>
<li>[[Japanese functions]]</li>
<li>Japanese functions</li>
<li>[[Sir2000 Field Migration Facility]]</li>
<li>[[Media:SirfieldNew.pdf|Sir2000 Field Migration Facility]]</li>


<li>''[[Sir2000 User Language Tools]]''
<li>[http://m204wiki.rocketsoftware.com/images/d/d6/Ul2krNew.pdf Sir2000 User Language Tools]
</ul>
</ul>
<p>2NS
</p>


[[Category:$Functions|$Sir_Date2NS]]
[[Category:$Functions|$Sir_Date2NS]]

Latest revision as of 21:51, 6 October 2015

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