[ Next Article |
Previous Article |
Book Contents |
Library Home |
Legal |
Search ]
Base Operating System and Extensions Technical Reference, Volume 2
strptime Subroutine
Purpose
Converts a character string to a time value.
Library
Standard C Library (libc.a)
Syntax
#include <time.h>
char *strptime (Buf, Format, Tm)
const char *Buf, *Format;
struct tm *Tm;
Description
The strptime subroutine converts the
characters in the Buf parameter to values that are stored in the Tm
structure, using the format specified by the Format parameter.
Parameters
Buf |
Contains the character string to be converted by the strptime
subroutine. |
Format |
Contains format specifiers for the strptime subroutine. The
Format parameter contains 0 or more specifiers. Each specifier is composed
of one of the following elements:
- One or more white-space characters
- An ordinary character (neither % [percent sign] nor a
white-space character)
- A format specifier
|
Note: If more than one format
specifier is present, they must be separated by white space or a non-% [percent
sign]/non-alphanumeric ordinary character.
The LC_TIME category
defines the locale values for the format specifiers. The following format
specifiers are supported:
%a |
Represents the weekday name, either abbreviated as specified by the
abday statement or full as specified by the day statement. |
%A |
Represents the weekday name, either abbreviated as specified by the
abday statement or full as specified by the day statement. |
%b |
Represents the month name, either abbreviated as specified by the
abmon statement or full as specified by the month statement. |
%B |
Represents the month name, either abbreviated as specified by the
abmon statement or full as specified by the month statement. |
%c |
Represents the date and time format defined by the d_t_fmt
statement in the LC_TIME category. |
%C |
Represents the century number (0 through 99); leading zeros are permitted but
not required. |
%d |
Represents the day of the month as a decimal number (01 to 31). |
%D |
Represents the date in %m/%d/%y format (for example,
01/31/91). |
%e |
Represents the day of the month as a decimal number (01 to 31). |
%E |
Represents the combined alternate era year and name, respectively, in
%o %N format. |
%h |
Represents the month name, either abbreviated as specified by the
abmon statement or full as specified by the month statement. |
%H |
Represents the 24-hour-clock hour as a decimal number (00 to 23). |
%I |
Represents the 12-hour-clock hour as a decimal number (01 to 12). |
%j |
Represents the day of the year as a decimal number (001 to 366). |
%m |
Represents the month of the year as a decimal number (01 to 12). |
%M |
Represents the minutes of the hour as a decimal number (00 to 59). |
%n |
Represents any white space. |
%N |
Represents the alternate era name. |
%o |
Represents the alternate era year. |
%p |
Represents the a.m. or p.m. string defined by the am_pm statement
in the LC_TIME category. |
%r |
Represents 12-hour-clock time with a.m./p.m. notation as defined by the
t_fmt_ampm statement, usually in the format %I:%M:%S %p. |
%S |
Represents the seconds of the minute as a decimal number (00 to 61). The
decimal number range of 00 to 61 provides for leap seconds. |
%t |
Represents any white space. |
%T |
Represents 24-hour-clock time in the format %H:%M:%S (for
example, 16:55:15). |
%U |
Represents the week of the year as a decimal number (00 to 53). Sunday,
or its equivalent as defined by the day statement, is considered the first
day of the week for calculating the value of this field descriptor. |
%w |
Represents the day of the week as a decimal number (0 to 6). Sunday, or
its equivalent as defined by the day statement in the LC_TIME
category, is considered to be 0 for calculating the value of this field
descriptor. |
%W |
Represents the week of the year as a decimal number (00 to 53). Monday,
or its equivalent as defined by the day statement in the LC_TIME
category, is considered the first day of the week for calculating the value of this
field descriptor. |
%x |
Represents the date format defined by the d_fmt statement in the
LC_TIME category. |
%X |
Represents the time format defined by the t_fmt statement in the
LC_TIME category. |
%y |
Represents the year within century.
Note: When the environment variable XPG_TIME_FMT=ON, %y is the year within the 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 2000 to 2068, inclusive. |
%Y |
Represents the year as a decimal number (for example,
1989). |
%Z |
Represents the time-zone name, if one can be determined (for example,
EST). No characters are displayed if a time zone cannot be
determined. |
%% |
Specifies a % (percent sign) character. |
Some format specifiers can be modified by the
E and O modifier characters to indicate an alternative format or
specification. If the alternative format or specification does not exist in the
current locale, the behavior will be as if the unmodified format specifier were
used. The following modified format specifiers are supported:
%Ec |
Represents the locale's alternative appropriate date and time as defined by
the era_d_t_fmt statement. |
%EC |
Represents the base year (or other time period) in the locale's alternative
form as defined by the era statement under the era_name category of
the current era. |
%Ex |
Represents the alternative date as defined by the era_d_fmt
statement. |
%EX |
Represents the locale's alternative time as defined by the era_t_fmt
statement. |
%Ey |
Represents the offset from the %EC format specifier (year only) in the
locale's alternative form. |
%EY |
Represents the full alternative-year format. |
%Od |
Represents the month using the locale's alternative numeric symbols. Leading
0's are permitted but not required. |
%Oe |
Represents the month using the locale's alternative numeric symbols. Leading
0's are permitted but not required. |
%OH |
Represents the hour in 24-hour-clock time using the locale's alternative
numeric symbols. |
%OI |
Represents the hour in 12-hour-clock time using the locale's alternative
numeric symbols. |
%Om |
Represents the month using the locale's alternative numeric symbols. |
%OM |
Represents the minutes using the locale's alternative numeric symbols. |
%OS |
Represents the seconds using the locale's alternative numeric symbols. |
%OU |
Represents the week number of the year using the locale's alternative numeric
symbols. Sunday is considered the first day of the week. Use the rules
corresponding to the %U format specifier. |
%Ow |
Represents the day of the week using the locale's alternative numeric
symbols. Sunday is considered the first day of the week. |
%OW |
Represents the week number of the year using the locale's alternative numeric
symbols. Monday is considered the first day of the week. Use the rules
corresponding to the %W format specifier. |
%Oy |
Represents the year (offset from %C) using the locale's alternative numeric
symbols. |
A format specification consisting of white-space
characters is performed by reading input until the first nonwhite-space character
(which is not read) or up to no more characters can be read.
A format specification consisting of an ordinary
character is performed by reading the next character from the Buf parameter.
If this character differs from the character comprising the directive, the
directive fails and the differing character and any characters following it remain
unread. Case is ignored when matching Buf items, such as month or weekday
names.
A series of directives composed of %n format
specifiers, %t format specifiers, white-space characters, or any combination
of the three items is processed by reading up to the first character that is not
white space (which remains unread), or until no more characters can be read.
Tm |
Specifies the structure to contain the output of the strptime
subroutine. If a conversion fails, the contents of the Tm structure are
undefined. |
Return Values
If successful, the strptime subroutine
returns a pointer to the character following the last character parsed. Otherwise,
a null pointer is returned.
Implementation Specifics
This subroutine is part of Base Operating
System (BOS) Runtime.
Related Information
The scanf subroutine, strfmon subroutine, strftime subroutine, time subroutine, wcsftime subroutine.
LC_TIME Category in the Locale
Definition Source File Format in AIX Version 4.3 Files Reference.
National Language Support Overview
for Programming, Understanding Time and Monetary Formatting Subroutines, Subroutines Overview
in AIX Version 4.3 General Programming Concepts: Writing and Debugging Programs.
[ Next Article |
Previous Article |
Book Contents |
Library Home |
Legal |
Search ]