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)