|STRPTIME(3)||Library Functions Manual||STRPTIME(3)|
char *buf, const char
*format, struct tm
strptimefunction parses the string buf according to the specified format and fills matching data into the structure tm (described in mktime(3)).
The format string consists of zero or more directives. A directive is composed of either one or more whitespace characters as defined by isspace(3), an ordinary character (neither ‘%’ nor a whitespace), or a conversion specification. A conversion specification consists of a percent sign (‘%’) followed by one or two conversion characters which specify the replacement required. There must be whitespace or other non-alphanumeric characters between any two conversion specifications.
The following conversion specifications are supported:
UTC’) specified as: “[+-]hhmm”, “[+-]hh:mm”, or “[+-]hh”; ‘
UTC’ specified as: “GMT” (‘
Greenwich Mean Time’), “UT” (‘
Universal Time’), or “Z” (‘
Zulu Time’); a three character US timezone specified as: “EDT”, “EST”, “CDT”, “CST”, “MDT”, “MST”, “PDT”, or “PST”, with the first letter standing for ‘
Eastern’ (“E”), ‘
Central’ (“C”), ‘
Mountain’ (“M”) or ‘
Pacific’ (“P”), and the second letter standing for ‘
Daylight’ (“D” or summer) time or ‘
Standard’ (“S”) time.
The OpenBSD implementation always uses the C locale and ignores the global locale and the thread-specific locale. Alternative conversion modifiers have no effect.
There is no way to specify whether Daylight Saving Time is in
effect when calling
strptime. To use the resulting
tm structure with functions that check the
tm_isdst field, either set it to a negative value,
which will cause mktime(3) to attempt to
divine whether Daylight Saving Time would be in effect for the given time,
or compute the value manually.
Omodifier characters to indicate that an alternative format or specification should be used rather than the one normally used by the unmodified conversion specification. As there are currently neither alternative formats nor specifications supported by the system, the behavior will be as if the unmodified conversion specification were used.
Case is ignored when matching string items in buf, such as month and weekday names.
strptimefunction returns a pointer to the character following the last character parsed. Otherwise, a null pointer is returned.
strptime() function conforms to the X/Open System Interfaces option of IEEE Std 1003.1-2008 (“POSIX.1”), except that flags and field width specifications are not supported.
%Z’ conversion specifications are
LC_TIMElocale(1) category can cause parsing failures; see CAVEATS in setlocale(3) for details.
%Zformat specifier only accepts timezone abbreviations of the local timezone, or the value “GMT”. This limitation is caused by the ambiguity of overloaded timezone abbreviations, for example EST is both Eastern Standard Time and Eastern Australia Summer Time.
|July 19, 2019||OpenBSD-current|