strptime(3C)strptime(3C)NAMEstrptime() - date and time conversion
SYNOPSISDESCRIPTION
The function converts the character string pointed to by buf to values
which are stored in the structure pointed to by tm, using the format
specified by format.
The format is composed of zero or more directives. Each directive is
composed of one of the following: one or more white-space characters
(as specified by the function); an ordinary character (neither nor a
white-space character); or a conversion specification. Each conversion
specification is composed of a character followed by a conversion char‐
acter which specifies the replacement required. There must be white‐
space or other non-alphanumeric characters between any two conversion
specifications. The following conversion specifications are supported:
is the day of week, using the locale's weekday names; either the
abbreviated
or full name may be specified.
is the same as
is the month, using the locale's month names; either the abbre‐
viated or full
name may be specified.
is the same as
is the date and time, using locale's date and time format (for
example, as
is the century number [0,99]; leading zeros are permitted but
not required.
is the day of month [1,31]; leading zeros are permitted but not
required.
is the date as
is the same as
is the same as
is the hour (24-hour clock) [0,23]; leading zeros are permitted
but not
required.
is the hour (12-hour clock) [1,12]; leading zeros are permitted
but not
required.
is the day number of the year [1,366]; leading zeros are permit‐
ted but not
required.
is the month number [1,12]; leading zeros are permitted but not
required.
is the minute [0,59]; leading zeros are permitted but not
required.
is any whitespace.
is the locale's equivalent of a.m or p.m.
is the 12-hour clock time in AM/PM notation equivalent to
format or the format specified in of the portion of the
current locale, if it is not empty. Otherwise, returns
NULL.
is the time as
is the seconds [0,60]; leading zeros are permitted but not
required.
is any whitespace.
is the time as
is the week number of the year (Sunday as the first day of the
week) as a
decimal number [0,53]; leading zeros are permitted but
not required. All days in a year preceding the first
Sunday are considered to be in week 0.
is the weekday as a decimal number [0,6], with 0 representing
Sunday;
leading zeros are permitted but not required.
is the week number of the year (Monday as the first day of the
week) as a
decimal number [0,53]; leading zeros are permitted but
not required. All days in a year preceding the first
Monday are considered to be in week 0.
is the date, using the locale's date format.
is the time, using the locale's time format.
is the year within the century [0,99]; leading zeros are permit‐
ted but
not required. If no century has been specified (for
example, via the directive), the 20th century (1900s) is
assumed for inputs in the range 69-99, and the 21st cen‐
tury (2000s) is assumed for inputs in the range 00-68.
is the year, including the century (for example, 1992).
is replaced by
Modified Directives
Some directives can be modified by the and modifier characters to indi‐
cate that an alternative format or specification should be used rather
than the one normally used by the unmodified directive. If the alter‐
native format or specification does not exist in the current locale,
the behavior will be as if the unmodified directive were used.
is the locale's alternative appropriate date and time represen‐
tation.
is the name of the base year (period) in the locale's alterna‐
tive representation.
is the locale's alternative date representation.
is the locale's alternative time representation.
is the offset from
(year only) in the locale's alternative representation.
is the full alternative year representation.
is the day of the month using the locale's alternative numeric
symbols; leading
zeros are permitted by not required.
is the same as
is the hour (24-hour clock) using the locale's alternative
numeric symbols.
is the hour (12-hour clock) using the locale's alternative
numeric symbols.
is the month using the locale's alternative numeric symbols.
is the minutes using the locale's alternative numeric symbols.
is the seconds using the locale's alternative numeric symbols.
is the week number of the year (Sunday as the first day of the
week)
using the locale's alternative numeric symbols.
is the number of the weekday (Sunday=0) using the locale's
alternative numeric
symbols.
is the week number of the year (Monday as the first day of the
week) using the locale's
alternative numeric symbols.
is the year (offset from
in the locale's alternative representation and using the
locale's alternative numeric symbols.
A directive composed of whitespace characters is executed by scanning
input up to the first character that is not whitespace (which remains
unscanned), or until no more characters can be scanned.
A directive that is an ordinary character is executed by scanning the
next character from the buffer. If the character scanned from the buf‐
fer differs from the one comprising the directive, the directive fails,
and the differing and subsequent characters remain unscanned.
A series of directives composed of whitespace characters or any combi‐
nation thereof is executed by scanning up to the first character that
is not white space (which remains unscanned), or until no more charac‐
ters can be scanned.
Any other conversion specification is executed by scanning characters
until a character matching the next directive is scanned, or until no
more characters can be scanned. These characters, except the one
matching the next directive, are then compared to the locale values
associated with the conversion specifier. If a match is found, values
for the appropriate structure members are set to values corresponding
to the locale information. Case is ignored when matching items in buf
such as month or weekday names. If no match is found, fails and no
more characters are scanned. If the date specified exceeds the maximum
time representable by the data type in 32-bit HP-UX (which represents
Tuesday January 19 03:14:07 UTC, 2038) or if the date exceeds the maxi‐
mum date supported in 64-bit HP-UX (which is Friday December 31
23:59:59 UTC, 9999), fails and a null pointer is returned.
EXTERNAL INFLUENCES
Environment Variables
may define the alternative symbols (alt_digit; see localedef(4)) used
by the modifier. The alt_digit definition has precedence over alt_dig‐
its (Support for alt_digit may be removed in a future release of HP-UX.
determines the characters to be interpreted for those directives
described above as being from the locale.
determines the interpretation of the bytes within format as single-
and/or multibyte characters.
International Code Set Support
Single- and multibyte character code sets are supported.
RETURN VALUE
Upon successful completion, returns a pointer to the character follow‐
ing the last character parsed. Otherwise, a null pointer is returned.
EXAMPLES
The following program segment uses to convert the string (first argu‐
ment) to values according to the format specified in the second argu‐
ment.
struct tm t;
setlocale(LC_TIME, "en_US.iso88591");
strptime("1:04:23 PM on 10/6/92", "%I:%M:%S %p on %D", &t);
The converted value is stored in the structure t as follows:
t.tm_sec = 23
t.tm_min = 4
t.tm_hour = 13
t.tm_mday = 6
t.tm_mon = 9
t.tm_year = 92
t.tm_wday = 2
t.tm_yday = 279
t.tm_isdst = 1
AUTHOR
was developed by OSF and HP.
SEE ALSOscanf(3S), strftime(3C), getdate(3C), ctime(3C), setlocale(3C),
thread_safety(5).
STANDARDS CONFORMANCEstrptime(3C)