NAME
strptime - convert a string representation of time to a time
tm structure
SYNOPSIS
#include <time.h>
char *strptime(char *buf, const char *format, const struct
tm *tm));
DESCRIPTION
strptime() is the complementary function to strftime() and
converts the character string pointed to by buf to a time
value, which is stored in the tm structure pointed to by tm,
using the format specified by format. format is a character
string that consists of field descriptors and text charac-
ters, reminiscent of scanf(3). Each field descriptor con-
sists of a % character followd by another character that
specifies the replacement for the field descriptor. All
other characters are copied from format into the result.
The following field descriptors are supported:
%% same as %
%a
%A day of week, using locale's weekday names; either
the abbreviated or full name may be specified
%b
%B
%h month, using locale's month names; either the
abbreviated or full name may be specified
%c date and time as %x %X
%C date and time, in locale's long-format date and
time representation
%d
%e day of month (1-31; leading zeroes are permitted
but not required)
%D date as %m/%d/%y
%H
%k hour (0-23; leading zeroes are permitted but not
required)
%I
%l hour (0-12; leading zeroes are permitted but not
required)
%j day number of year (001-366)
%m month number (1-12; leading zeroes are permitted
but not required)
%M minute (0-59; leading zeroes are permitted but not
required)
%p locale's equivalent of AM or PM
%r time as %I:%M:%S %p
%R time as %H:%M
%S seconds (0-61; leading zeroes are permitted but
not required. Extra second allowed for leap years)
%T time as %H:%M:%S
%w weekday number (0-6) with Sunday as the first day
of the week
%x date, using locale's date format
%X time, using locale's time format
%y year within century (0-99; leading zeroes are per-
mitted but not required. Unfortunately this makes
the assumption that we are stuck in the 20th cen-
tury as 1900 is automatically added onto this
number for the tm_year field)
%Y year, including century (for example, 1988)
Case is ignored when matching items such as month or weekday
names.
The broken-down time structure tm is defined in <time.h> as
follows:
struct tm
{
int tm_sec; /* seconds */
int tm_min; /* minutes */
int tm_hour; /* hours */
int tm_mday; /* day of the month */
int tm_mon; /* month */
int tm_year; /* year */
int tm_wday; /* day of the week */
int tm_yday; /* day in the year */
int tm_isdst; /* daylight saving time */
};
RETURN VALUE
The strptime() function returns a pointer to the character
following the last character in the string pointed to by buf
SEE ALSO
strftime(3), time(2), setlocale(3),
BUGS
The return values point to static data, whose contents are
overwritten by each call.
NOTES
This function is only available in libraries newer than ver-
sion 4.6.5
The function supports only those locales specified in
locale(7)