$Sir DateChk: Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (remove category)
m (link repair)
Line 64: Line 64:
<p>
<p>
For more information about error handling, see the <var>[[APPDATE command|APPDATE]]</var> command
For more information about error handling, see the <var>[[APPDATE command|APPDATE]]</var> command
and see <var>[[Sir_Date_Err]]</var>. </p>
and see <var>[[$Sir_Date_Err]]</var>. </p>


[[Category:Sir2000 User Language Tools $functions]]
[[Category:Sir2000 User Language Tools $functions]]

Revision as of 21:36, 5 October 2015

Check if datetime matches format

Note: This $function require the Sir2000 User Language Tools product.

The $Sir_DateChk function expects a datetime format string and a datetime value string. It accepts an optional CENTSPAN value, and an optional error control string. $Sir_DateChk returns the value 1 if the datetime value is valid and matches the provided format, otherwise the value 0 is returned.

The $Sir_DateChk function is similar to the $DateChk standard SOUL function. However, the $DateChk function does not support the specification of a CENTSPAN argument.

Syntax

%tst = $Sir_DateChk(fmt, dat, [span], [errctl])

Where:

%tst Set to 1 if dat matches fmt; otherwise set to 0.
fmt Datetime format string. Refer to Datetime string formats for an explanation of valid datetime formats and valid dates. Strict matching is used for fmt.
dat Datetime string.
span Optional CENTSPAN value, default is -50. Refer to Using CENTSPAN.
errctl Optional error control string, refer to Datetime error handling.

The following fragment prints the string Bad, since February cannot have thirty days. Note that the request is not cancelled, even though an optional error control string was provided:

%x = $sir_datechk('DAY Month, YYYY', - '30 February, 1997',,'CANCEL') if %x = 1 then print 'Good' else print 'Bad' end if

Error conditions

$Sir_DateChk returns a value of 0 if any of the following errors are detected:

  • fmt is not a valid datetime format.
  • dat is not a valid date, or does not match fmt, or is outside of range permitted for fmt. Note that these cases are always treated as if an error control string of IGNORE had been specified.
  • span is not a valid CENTSPAN value.

For more information about error handling, see the APPDATE command and see $Sir_Date_Err.