Skip to main content

%Library.TimeStamp

Class %Library.TimeStamp Extends %DataType [ ClientDataType = TIMESTAMP, OdbcType = TIMESTAMP, SqlCategory = TIMESTAMP, System = 2 ]

The %TimeStamp data type class represents a time stamp value. The logical value of this data type is in ODBC format:

YYYY-MM-DD HH:MM:SS.nnnnnnnnn

For example, the following expression returns the current date and time in the format needed for this data type: $zdatetime($horolog,3). See the documentation for $zdatetime and $horolog.

The function $System.SQL.Functions.DATEDIFF() can be used to return intervals between two %TimeStamp values. The function $System.SQL.Functions.DATEADD() can be used to add a certain number of date parts (such as years, hours, or days) to a specified timestamp. See the class %SYSTEM.SQL.Functions for details.

Parameters

VALUELIST;

Parameter VALUELIST;

Used for enumerated (multiple-choice) attributes. VALUELIST is either a null string ("") or a delimiter separated list (where the delimiter is the first character) of logical values. If a non-null value is present, then the attribute is restricted to values in the list, and the validation code simply checks to see if the value is in the list.

MAXVAL;

Parameter MAXVAL;

The maximum allowed logical value for the data type.

MINVAL;

Parameter MINVAL;

The minimum allowed logical value for the data type.

DISPLAYLIST;

Parameter DISPLAYLIST;

Used for enumerated (multiple-choice) attributes. Used in conjunction with the VALUELIST parameter for enumerated (multiple-choice) attributes. DISPLAYLIST, if not null, represents the display values for the attribute corresponding with the logical values listed in VALUELIST.

The display values are returned by the LogicalToDisplay method.

XMLTIMEZONE

Parameter XMLTIMEZONE [ Constraint = "IGNORE,UTC", Flags = ENUM ] = "UTC";

XMLTIMEZONE specifies the handling of timezone part of the XML format dateTime. "UTC" means convert to UTC on input. "IGNORE" means ignore the timezone.

XMLDEFAULTVALUE

Parameter XMLDEFAULTVALUE As STRING [ Internal ];

XMLDEFAULTVALUE specifies the value to use if the date fails validity check by $zdatetimeh. By default "" is used which will result in an XMLImport error. A dateTime such as "1841-01-1 00:00:00" may be specified to replace dates such as 0001-01-01 00:00:00 which are not valid %TimeStamp dates.

XSDTYPE

Parameter XSDTYPE = "dateTime";

Declares the XSD type used when projecting XML Schemas.

JSONTYPE

Parameter JSONTYPE = "string";

Methods

XSDToLogical

ClassMethod XSDToLogical(%val As %String) As %TimeStamp [ CodeMode = generator, ServerOnly = 1 ]

Converts the SOAP encoded input dateTime value into a %TimeStamp value.

LogicalToXSD

ClassMethod LogicalToXSD(%val As %TimeStamp) As %String [ CodeMode = generator, ServerOnly = 1 ]

Converts the %TimeStamp value to the canonical SOAP encoded value.

OdbcToLogical

ClassMethod OdbcToLogical(%val As %String) As %TimeStamp [ ServerOnly = 1 ]

Converts %val, which represents either a Timestamp in ODBC format, or a Date in ODBC format, into a logical Timestamp value.

Returns the logical Timestamp value of the ODBC Timestamp string %val.

DisplayToLogical

ClassMethod DisplayToLogical(%val As %String) As %TimeStamp [ CodeMode = generator, ServerOnly = 0 ]

Converts the input value %val, which represents a Display timestamp value, to YYYY-MM-DD HH:MM:SS[.nnnnnnnnn] format. The Logical value and Display values are the same unless there are VALUELIST and DISPLAYLIST parameters specified.

Returns the value of the input string %val as a Logical timestamp value (YYYY-MM-DD HH:MM:SS[.nnnnnnnnn] format).

IsValid

ClassMethod IsValid(%val As %RawString) As %Status [ CodeMode = generator, ServerOnly = 0 ]

Tests if the logical value %val, which represents a timestamp value in YYYY-MM-DD HH:MM:SS[.nnnnnnnn] format, is valid. The validation is based on the class parameter settings used for the class attribute this data type is associated with. In this case, MAXVAL and MINVAL.

LogicalToDisplay

ClassMethod LogicalToDisplay(%val As %TimeStamp) As %String [ CodeMode = generator, ServerOnly = 0 ]

Converts the value of %val, which is in logical format YYYY-MM-DD HH:MM:SS[.nnnnnnnnn], into a display string. The Logical value and Display values are the same unless there are VALUELIST and DISPLAYLIST parameters specified.

Returns the Display Timestamp value of the Logical Timestamp string %val.

Normalize

ClassMethod Normalize(%val As %RawString) As %TimeStamp [ CodeMode = expression, ServerOnly = 1 ]

Transforms Logical Date or ODBC Date values into timestamp. Date only values are converted to Timestamp values with a time of 00:00:00. Time only values are converted to TImestamp value with a date of current date