Computer Science
STRPTIME(3) Linux Programmer's Manual STRPTIME(3)
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 characters, reminiscent of scanf(3). Each field
descriptor consists 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 sup-
ported:
%% 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 speci-
fied
%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 per-
mitted 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 per-
mitted 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 permitted but not required. Unfortu-
nately this makes the assumption that we are
stuck in the 20th century as 1900 is auto-
matically 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 week-
day 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), scanf(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
version 4.6.5
The function supports only those locales specified in
locale(7)
GNU 26 September 1994 1
Back to the index