$Sir Date2N: Difference between revisions
Jump to navigation
Jump to search
m (1 revision) |
m (link repair) |
||
(22 intermediate revisions by 3 users not shown) | |||
Line 2: | Line 2: | ||
<span class="pageSubtitle">Convert datetime string to number of seconds/300</span> | <span class="pageSubtitle">Convert datetime string to number of seconds/300</span> | ||
<p class=" | <p class="warn"><b>Note: </b>Many $functions have been deprecated in favor of [[:Category:SOUL object-oriented programming topics|SOUL Object Oriented]] methods. There is currently no OO equivalent for the $Sir_Date2N function.</p> | ||
The <var>$Sir_Date2N</var> function expects a datetime value string and a datetime format string and returns the input datetime converted to the number of 1/300th 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). | The <var>$Sir_Date2N</var> function expects a datetime value string and a datetime format string and returns the input datetime converted to the number of 1/300th seconds since 1 January, 1900. It accepts an optional <var>[[Datetime string formats#.24Sir_Datexxx CENTSPAN argument|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" | <p class="syntax"><span class="term">%num</span> <span class="literal">= $Sir_Date2N(</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> | |||
===Syntax terms=== | ===Syntax terms=== | ||
<table> | |||
<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 1/300th second units from 1 Jan 1900 12:00 AM. | <td>Set to the value of <var class="term">dat</var>, converted to the number of 1/300th second units from 1 Jan 1900 12:00 AM. | ||
</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 | <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 CENTSPAN value; default is -50. </td></tr> | <td>Optional <var>[[Datetime string formats#.24Sir_Datexxx CENTSPAN argument|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| | <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_Date2N</var> 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_Date2N</var> 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_N2Date]]</var>. | <li>Dates prior to 1 January 1900 return a negative number. </li> | ||
<li><var>$Sir_Date2N</var> returns the value <code>-9E12</code> (-9000000000000) in the following cases (see the discussion in [[Datetime string formats#Datetime error handling| | |||
<li>The inverse of this $function is <var>[[$Sir_N2Date]]</var>. </li> | |||
<li><var>$Sir_Date2N</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> | ||
Line 38: | Line 44: | ||
<li><var class="term">dat</var> is outside of range permitted for <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. | <li><var class="term">span</var> is invalid. | ||
</ul> | </ul></li> | ||
</ul> | </ul> | ||
Line 49: | Line 55: | ||
</p> | </p> | ||
==Products authorizing {{PAGENAMEE}}== | |||
<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> | <li>Japanese functions</li> | ||
<li>[[Sir2000 Field Migration Facility]]</li> | <li>[[Media:SirfieldNew.pdf|Sir2000 Field Migration Facility]]</li> | ||
<li> | <li>[[Sir2000 User Language Tools]]</li> | ||
</ul> | </ul> | ||
[[Category:$Functions|$Sir_Date2N]] | [[Category:$Functions|$Sir_Date2N]] |
Latest revision as of 22:52, 8 February 2018
Convert datetime string to number of seconds/300
Note: Many $functions have been deprecated in favor of SOUL Object Oriented methods. There is currently no OO equivalent for the $Sir_Date2N function.
The $Sir_Date2N function expects a datetime value string and a datetime format string and returns the input datetime converted to the number of 1/300th 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_Date2N(dat, fmt, [span], [errctl])
Syntax terms
%num | Set to the value of dat, converted to the number of 1/300th second units 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_Date2N 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_N2Date.
- $Sir_Date2N 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 Before
:
If $Sir_Date2N('121494', 'MMDDYY') < $Sir_Date2N('040195', 'MMDDYY') Then Print 'Before' End If