1997-08-09 15:43:59 +00:00
|
|
|
.\"
|
|
|
|
.\" Copyright (c) 1997 Joerg Wunsch
|
|
|
|
.\"
|
|
|
|
.\" All rights reserved.
|
|
|
|
.\"
|
|
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
|
|
.\" modification, are permitted provided that the following conditions
|
|
|
|
.\" are met:
|
|
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
|
|
.\"
|
|
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
|
|
|
|
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
|
|
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
|
|
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
|
|
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
|
|
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
|
|
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
|
|
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
|
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
|
|
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
.\"
|
1999-08-28 00:22:10 +00:00
|
|
|
.\" $FreeBSD$
|
1997-08-09 15:43:59 +00:00
|
|
|
.\" "
|
|
|
|
.Dd May 8, 1997
|
|
|
|
.Dt STRPTIME 3
|
|
|
|
.Os
|
|
|
|
.Sh NAME
|
|
|
|
.Nm strptime
|
|
|
|
.Nd parse date and time string
|
2000-04-21 09:42:15 +00:00
|
|
|
.Sh LIBRARY
|
|
|
|
.Lb libc
|
1997-08-09 15:43:59 +00:00
|
|
|
.Sh SYNOPSIS
|
|
|
|
.Fd #include <time.h>
|
1998-09-12 21:13:29 +00:00
|
|
|
.Ft char *
|
1997-08-09 15:43:59 +00:00
|
|
|
.Fn strptime "const char *buf" "const char *format" "struct tm *timeptr"
|
|
|
|
.Sh DESCRIPTION
|
|
|
|
The
|
|
|
|
.Fn strptime
|
|
|
|
function parses the string in the buffer
|
|
|
|
.Fa buf
|
|
|
|
according to the string pointed to by
|
|
|
|
.Fa format ,
|
|
|
|
and fills in the elements of the structure pointed to by
|
|
|
|
.Fa timeptr .
|
1999-07-04 08:54:26 +00:00
|
|
|
The resulting values will be relative to the local time zone.
|
1997-08-09 15:43:59 +00:00
|
|
|
Thus, it can be considered the reverse operation of
|
|
|
|
.Xr strftime 3 .
|
|
|
|
.Pp
|
|
|
|
The
|
|
|
|
.Fa format
|
|
|
|
string consists of zero or more conversion specifications and
|
|
|
|
ordinary characters.
|
|
|
|
All ordinary characters are matched exactly with the buffer, where
|
|
|
|
white space in the format string will match any amount of white space
|
|
|
|
in the buffer.
|
|
|
|
All conversion specifications are identical to those described in
|
|
|
|
.Xr strftime 3 .
|
1999-04-25 01:42:18 +00:00
|
|
|
.Pp
|
|
|
|
Two-digit year values, including formats
|
1999-04-25 07:28:39 +00:00
|
|
|
.Fa %y
|
1999-04-25 01:42:18 +00:00
|
|
|
and
|
2000-12-29 14:08:20 +00:00
|
|
|
.Fa \&%D ,
|
1999-04-25 07:28:39 +00:00
|
|
|
are now interpreted as beginning at 1969 per POSIX requirements.
|
|
|
|
Years 69-00 are interpreted in the 20th century (1969-2000), years
|
|
|
|
01-68 in the 21st century (2001-2068).
|
1997-08-09 15:43:59 +00:00
|
|
|
.Sh RETURN VALUES
|
|
|
|
Upon successful completion,
|
|
|
|
.Fn strptime
|
|
|
|
returns the pointer to the first character in
|
|
|
|
.Fa buf
|
|
|
|
that has not been required to satisfy the specified conversions in
|
|
|
|
.Fa format .
|
|
|
|
It returns
|
|
|
|
.Dv NULL
|
|
|
|
if one of the conversions failed.
|
|
|
|
.Sh SEE ALSO
|
|
|
|
.Xr date 1 ,
|
|
|
|
.Xr scanf 3 ,
|
|
|
|
.Xr strftime 3
|
|
|
|
.Sh AUTHORS
|
|
|
|
The
|
|
|
|
.Fn strptime
|
|
|
|
function has been contributed by Powerdog Industries.
|
|
|
|
.Pp
|
|
|
|
This man page was written by
|
2000-11-10 17:46:15 +00:00
|
|
|
.An J\(:org Wunsch .
|
1997-08-09 15:43:59 +00:00
|
|
|
.Sh HISTORY
|
|
|
|
The
|
|
|
|
.Fn strptime
|
|
|
|
function appeared in
|
|
|
|
.Fx 3.0 .
|
1999-07-04 08:54:26 +00:00
|
|
|
.Sh BUGS
|
1999-12-08 15:49:10 +00:00
|
|
|
Both the
|
|
|
|
.Fa %e
|
|
|
|
and
|
|
|
|
.Fa %l
|
|
|
|
format specifiers may incorrectly scan one too many digits
|
|
|
|
if the intended values comprise only a single digit
|
|
|
|
and that digit is followed immediately by another digit.
|
|
|
|
Both specifiers accept zero-padded values,
|
|
|
|
even though they are both defined as taking unpadded values.
|
|
|
|
.Pp
|
|
|
|
The
|
|
|
|
.Fa %p
|
|
|
|
format specifier has no effect unless it is parsed
|
|
|
|
.Em after
|
|
|
|
hour-related specifiers.
|
|
|
|
Specifying
|
|
|
|
.Fa %l
|
|
|
|
without
|
|
|
|
.Fa %p
|
|
|
|
will produce undefined results.
|
|
|
|
Note that 12AM
|
|
|
|
.Pq ante meridiem
|
|
|
|
is taken as midnight
|
|
|
|
and 12PM
|
|
|
|
.Pq post meridiem
|
|
|
|
is taken as noon.
|
|
|
|
.Pp
|
|
|
|
The
|
|
|
|
.Fa %U
|
|
|
|
and
|
|
|
|
.Fa %W
|
|
|
|
format specifiers accept any value within the range 00 to 53
|
|
|
|
without validating against other values supplied (like month
|
|
|
|
or day of the year, for example).
|
|
|
|
.Pp
|
|
|
|
The
|
1999-07-04 08:54:26 +00:00
|
|
|
.Fa %Z
|
|
|
|
format specifier only accepts time zone abbreviations of the local time zone,
|
|
|
|
or the value "GMT".
|
|
|
|
This limitation is because of ambiguity due to of the over loading of time
|
|
|
|
zone abbreviations. One such example is
|
|
|
|
.Fa EST
|
|
|
|
which is both Eastern Standard Time and Eastern Australia Summer Time.
|