StringToDays (String function)

From m204wiki
Jump to navigation Jump to search

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