StringToDays (String function)

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 string date/time to days since 1900 (String class)

[Introduced in Sirius Mods 7.8]

StringToDays is an intrinsic function to convert a date/time string to days since 1900.

Syntax

%days = string:StringToDays( format, [[CentSpan=] number]) Throws InvalidDateString

Syntax terms

%days The float variable to receive the computed time since 1900.
string The input date/time string, which must be in the format specified by format.
format The format of the date/time string. See "Datetime formats".
CentSpan The CENTSPAN value used, if format has a two-digit year. The default is specified by the CENTSPAN parameter. In Sirius Mods 7.9 and later, this is a name allowed parameter. For versions prior to 7.9, it is a positional parameter.

Usage notes

  • If the format is invalid, the request is cancelled.
  • If the date contents of the method object string is invalid, an InvalidDateString exception is thrown.
  • If the CentSpan value is invalid, the request is canceled.
  • Values returned by StringToDays can be stored in a BINARY or FLOAT4 field, if you want.
  • Dates prior to 1 January 1900 return a negative number.
  • The inverse of this function is DaysToString.

Examples

  1. This statement converts a value from YYYYMMDD format:

    printText {~='20110520':stringToDays('YYYYMMDD')}

    The result is:

    '20110520':stringToDays('YYYYMMDD')=40681

  2. This statement uses StringToDays and DaysToString to convert a value in YYYYMMDD format to the Month DAY, YYYY format:

    printText {~='20110520':stringToDays('YYYYMMDD'):daysToString('Month DAY, YYYY')}

    The result is:

    '20110520':stringToDays('YYYYMMDD'):daysToString('Month DAY, YYYY')=May 20, 2011

See also