strptime - converts a character string to a time value
#include <time.h>
char *
strptime(const char *buf, const char *format, struct tm
*tm);
The strptime function converts the character string pointed
to by buf to
values which are stored in the ``tm'' structure pointed to
by tm, using
the format specified by format.
The format string consists of zero or more directives. A
directive is
composed of either one or more whitespace characters as defined by
isspace(), an ordinary character (neither `%' nor a whitespace), or a
conversion specification. A conversion specification consists of a percent
sign `%' followed by one or two conversion characters
which specify
the replacement required. There must be whitespace or other
non-alphanumeric
characters between any two conversion specifications.
The LC_TIME category defines the locale values for the conversion specifications.
The following conversion specifications are supported:
%a the day of week, using the locale's weekday names; either the abbreviated
or full name may be specified.
%A the same as %a.
%b the month, using the locale's month names; either the
abbreviated
or full name may be specified.
%B the same as %b.
%c the date and time, using the locale's date and time
format.
%C the century number [0,99]; leading zeros are permitted
but not required.
Note that the converted value is added to the
current value
of the ``tm_year'' field (in order that the "%y"
conversion be
useful).
%d the day of month [1,31]; leading zeros are permitted
but not required.
%D the date as %m/%d/%y.
%e the same as %d.
%h the same as %b.
%H the hour (24-hour clock) [0,23]; leading zeros are
permitted but
not required.
%I the hour (12-hour clock) [1,12]; leading zeros are
permitted but
not required.
%j the day number of the year [1,366]; leading zeros are
permitted but
not required.
%k the same as %H.
%l the same as %I.
%m the month number [1,12]; leading zeros are permitted
but not required.
%M the minute [0,59]; leading zeros are permitted but not
required.
%n any whitespace.
%p the locale's equivalent of ``AM'' or ``PM''.
%r the time as %I:%M:%S %p.
%R the time as %H:%M.
%S the seconds [0,61]; leading zeros are permitted but
not required.
%t any whitespace.
%T the time as %H:%M:%S.
%U 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.
%w the weekday as a decimal number [0,6], with 0 representing Sunday;
leading zeros are permitted but not required.
%W 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.
%x the date, using the locale's date format.
%X the time, using the locale's time format.
%y the year within the current century. When a century
is not otherwise
specified, values in the range 69-99 refer to
years in the
twentieth century (1969 to 1999 inclusive); values in
the range
00-68 refer to years in the twenty-first century (2000
to 2068 inclusive).
Leading zeros are permitted but not required.
%Y the year, including the century (i.e., 1998).
%% A `%' is written. No argument is converted.
Modified conversion specifications [Toc] [Back]
For compatibility, certain conversion specifications can be
modified by
the E and O modifier characters to indicate that an alternative format or
specification should be used rather than the one normally
used by the unmodified
conversion specification. As there are currently
neither alternative
formats nor specifications supported by the system,
the behavior
will be as if the unmodified conversion specification were
used.
Case is ignored when matching string items in buf, such as
month and
weekday names.
If successful, the strptime function returns a pointer to
the character
following the last character parsed. Otherwise, a null
pointer is returned.
strftime(3)
The strptime() function conforms to X/Open Portability Guide
Issue 4.2
(``XPG4.2'').
OpenBSD 3.6 March 14, 1998
[ Back ] |