VMS Help
RTL Routines, LIB$, LIB$CONVERT_DATE_STRING
*Conan The Librarian (sorry for the slow response - running on an old VAX)
|
|
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]
OpenVMS usage:cond_value
type: longword (unsigned)
access: write only
mechanism: by value
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,
Compaq 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
Compaq. 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
Compaq, are zeroed.
[legal]
[privacy]
[GNU]
[policy]
[netiquette]
[sponsors]
[FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.