The Convert Date String to Quadword routine converts an absolute date string into an OpenVMS internal format date-time quadword. That is, given an input date/time string of a specified format, LIB$CONVERT_DATE_STRING converts this string to an OpenVMS internal format time. Format LIB$CONVERT_DATE_STRING date-string ,date-time [,user-context] [,flags] [,defaults] [,defaulted-fields]
1 – Returns
OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value
2 – Arguments
date-string OpenVMS usage:time_name type: character-coded text string access: read only mechanism: by descriptor Date string that specifies the absolute time to be converted to an internal system time. The date-string argument is the address of a descriptor pointing to this date string. This string must have a format corresponding to the currently defined input format, or it must be one of the relative day strings YESTERDAY, TODAY, or TOMORROW, or their equivalents in the currently selected language. date-time OpenVMS usage:date_time type: quadword (unsigned) access: write only mechanism: by reference Receives the converted time. The date-time argument is the address of an unsigned quadword that contains this OpenVMS internal format converted time. user-context OpenVMS usage:context type: longword (unsigned) access: modify mechanism: by reference Context variable that receives the translation context from a call to LIB$INIT_DATE_TIME_CONTEXT and then retains the translation context over multiple calls to LIB$CONVERT_DATE_STRING. The user-context argument is the address of an unsigned longword that contains this context. The user program should not write directly to this variable once it is initialized. The user-context parameter is optional. However, if a context cell is not passed, the routine LIB$CONVERT_DATE_STRING may abort if two threads of execution attempt to manipulate the context area concurrently. Therefore, when calling this routine in situations where reentrancy might occur, such as from AST level, VSI recommends that users specify a different context cell for each calling thread. flags OpenVMS usage:mask_longword type: longword (unsigned) access: read only mechanism: by reference Specifies which date or time fields of the date-string argument might be omitted so that default values are applied. The flags argument is the address of a longword bit mask that contains these flags. A set bit indicates that the field may be omitted. The bit definitions for the mask correspond to the fields in a $NUMTIM "timbuf" structure as follows: Field Bit Number Mask Year 0 1 Month 1 2 Day of month 2 4 Hours 3 8 Minutes 4 16 Seconds 5 32 Fractional 6 64 seconds Bits 7 through 31 must be zero and are Reserved for use by VSI. If this parameter is omitted, a default value of 120 (78H) is used, indicating that the time fields may be defaulted but the date fields may not. defaults OpenVMS usage:vector_word_unsigned type: word (unsigned) access: read only mechanism: by reference, array reference Supplies the defaults to be used for omitted fields. The defaults argument is the address of an array of unsigned words containing these default values. This array corresponds to a 7-word $NUMTIM "timbuf" structure. If the defaults argument is omitted, the following defaults are applied: o For the date group, the default is the current date. o For the time group, the default is 00:00:00.00. defaulted-fields OpenVMS usage:mask_longword type: longword (unsigned) access: write only mechanism: by reference Indicates which date or time fields have been defaulted. The defaulted-fields argument is the address of a longword bit mask that specifies these fields. The bit definitions are identical to those of the flags bit mask. A set bit indicates that the field was defaulted. Bits 7 through 31, which are reserved for use by VSI, are zeroed.