[  Previous  |
Next  |
Contents  |
Glossary  |
Home  |
Search  ]
AIX Version 4.3 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. 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 | 
  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.
[  Previous  |
Next  |
Contents  |
Glossary  |
Home  |
Search  ]