 f14fb60209
			
		
	
	
		f14fb60209
		
	
	
	
	
		
			
			* Updating common/lib * Updating lib/csu * Updating lib/libc * Updating libexec/ld.elf_so * Corrected test on __minix in featuretest to actually follow the meaning of the comment. * Cleaned up _REENTRANT-related defintions. * Disabled -D_REENTRANT for libfetch * Removing some unneeded __NBSD_LIBC defines and tests Change-Id: Ic1394baef74d11b9f86b312f5ff4bbc3cbf72ce2
		
			
				
	
	
		
			344 lines
		
	
	
		
			8.4 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			344 lines
		
	
	
		
			8.4 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .\"	$NetBSD: strptime.3,v 1.29 2011/04/12 08:40:34 jruoho Exp $
 | |
| .\"
 | |
| .\" Copyright (c) 1997, 1998, 2008 The NetBSD Foundation, Inc.
 | |
| .\" All rights reserved.
 | |
| .\"
 | |
| .\" This file was contributed to The NetBSD Foundation by Klaus Klein.
 | |
| .\"
 | |
| .\" 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 NETBSD FOUNDATION, INC. AND CONTRIBUTORS
 | |
| .\" ``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 FOUNDATION OR CONTRIBUTORS
 | |
| .\" 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.
 | |
| .\"
 | |
| .Dd April 12, 2011
 | |
| .Dt STRPTIME 3
 | |
| .Os
 | |
| .Sh NAME
 | |
| .Nm strptime
 | |
| .Nd converts a character string to a time value
 | |
| .Sh LIBRARY
 | |
| .Lb libc
 | |
| .Sh SYNOPSIS
 | |
| .In time.h
 | |
| .Ft char *
 | |
| .Fn strptime "const char * restrict buf" "const char * restrict format" "struct tm * restrict tm"
 | |
| .Sh DESCRIPTION
 | |
| The
 | |
| .Fn strptime
 | |
| function converts the character string pointed to by
 | |
| .Fa buf
 | |
| to values which are stored in the
 | |
| .Va tm
 | |
| structure pointed to by
 | |
| .Fa tm ,
 | |
| using the format specified by
 | |
| .Fa format .
 | |
| .Pp
 | |
| The
 | |
| .Fa format
 | |
| string consists of zero or more conversion specifications, whitespace
 | |
| characters as defined by
 | |
| .Fn isspace ,
 | |
| and ordinary characters.
 | |
| All ordinary characters in
 | |
| .Fa format
 | |
| are compared directly against the corresponding characters in
 | |
| .Fa buf ;
 | |
| comparisons which fail will cause
 | |
| .Fn strptime
 | |
| to fail.
 | |
| Whitespace characters in
 | |
| .Fa format
 | |
| match any number of whitespace characters in
 | |
| .Fa buf ,
 | |
| including none.
 | |
| .Pp
 | |
| A conversion specification consists of a percent sign
 | |
| .Ql %
 | |
| followed by one
 | |
| or two conversion characters which specify the replacement required.
 | |
| There must be white-space or other non-alphanumeric characters between any
 | |
| two conversion specifications.
 | |
| .Pp
 | |
| Conversion of alphanumeric strings (such as month and weekday names) is
 | |
| done without regard to case.
 | |
| Conversion specifications which cannot be matched will cause
 | |
| .Fn strptime
 | |
| to fail.
 | |
| .Pp
 | |
| The LC_TIME category defines the locale values for the conversion
 | |
| specifications.
 | |
| The following conversion specifications are supported:
 | |
| .Bl -tag -width "xxxx"
 | |
| .It Cm \&%a
 | |
| the day of week, using the locale's weekday names;
 | |
| either the abbreviated or full name may be specified.
 | |
| .It Cm \&%A
 | |
| the same as
 | |
| .Cm \&%a .
 | |
| .It Cm \&%b
 | |
| the month, using the locale's month names;
 | |
| either the abbreviated or full name may be specified.
 | |
| .It Cm \&%B
 | |
| the same as
 | |
| .Cm \&%b .
 | |
| .It Cm \&%c
 | |
| the date and time, using the locale's date and time format.
 | |
| .It Cm \&%C
 | |
| the century number [0,99];
 | |
| leading zeros are permitted but not required.
 | |
| This conversion should be used in conjunction with the \&%y conversion.
 | |
| .It Cm \&%d
 | |
| the day of month [1,31];
 | |
| leading zeros are permitted but not required.
 | |
| .It Cm \&%D
 | |
| the date as %m/%d/%y.
 | |
| .It Cm \&%e
 | |
| the same as
 | |
| .Cm \&%d .
 | |
| .It Cm \&%F
 | |
| the date as %Y-%m-%d
 | |
| (the ISO 8601 date format).
 | |
| .It Cm \&%g
 | |
| the year corresponding to the ISO week number, without the century.
 | |
| .Po
 | |
| A
 | |
| .Nx
 | |
| extension.
 | |
| .Pc
 | |
| .It Cm \&%G
 | |
| the year corresponding to the ISO week number, with the century.
 | |
| .Po
 | |
| A
 | |
| .Nx
 | |
| extension.
 | |
| .Pc
 | |
| .It Cm \&%h
 | |
| the same as
 | |
| .Cm \&%b .
 | |
| .It Cm \&%H
 | |
| the hour (24-hour clock) [0,23];
 | |
| leading zeros are permitted but not required.
 | |
| .It Cm \&%I
 | |
| the hour (12-hour clock) [1,12];
 | |
| leading zeros are permitted but not required.
 | |
| .It Cm \&%j
 | |
| the day number of the year [1,366];
 | |
| leading zeros are permitted but not required.
 | |
| .It Cm \&%k
 | |
| the same as
 | |
| .Cm \&%H .
 | |
| .It Cm \&%l
 | |
| the same as
 | |
| .Cm \&%I .
 | |
| .It Cm \&%m
 | |
| the month number [1,12];
 | |
| leading zeros are permitted but not required.
 | |
| .It Cm \&%M
 | |
| the minute [0,59];
 | |
| leading zeros are permitted but not required.
 | |
| .It Cm \&%n
 | |
| any white-space, including none.
 | |
| .It Cm \&%p
 | |
| the locale's equivalent of a.m. or p.m.
 | |
| .It Cm \&%r
 | |
| the time (12-hour clock) with %p, using the locale's time format.
 | |
| .It Cm \&%R
 | |
| the time as %H:%M.
 | |
| .It Cm \&%S
 | |
| the seconds [0,61];
 | |
| leading zeros are permitted but not required.
 | |
| .It Cm \&%s
 | |
| the number of seconds since the Epoch, UTC (see
 | |
| .Xr mktime 3 ) .
 | |
| .Po
 | |
| A
 | |
| .Nx
 | |
| extension.
 | |
| .Pc
 | |
| .It Cm \&%t
 | |
| any white-space, including none.
 | |
| .It Cm \&%T
 | |
| the time as %H:%M:%S.
 | |
| .It Cm \&%u
 | |
| the day of the week as a decimal number, where Monday = 1.
 | |
| .Po
 | |
| A
 | |
| .Nx
 | |
| extension.
 | |
| .Pc
 | |
| .It Cm \&%U
 | |
| the week number of the year (Sunday as the first day of the week)
 | |
| as a decimal number [0,53];
 | |
| leading zeros are permitted but not required.
 | |
| All days in a year preceding the first Sunday are considered to be in week 0.
 | |
| .It Cm \&%V
 | |
| the ISO 8601:1988 week number as a decimal number.
 | |
| If the week (starting on Monday) that contains January 1 has more than
 | |
| three days in the new year, then it is considered the first week of the
 | |
| year.
 | |
| If it has fewer than four days in the new year, then it is considered
 | |
| the last week of the previous year.
 | |
| Weeks are numbered from 1 to 53.
 | |
| .Po
 | |
| A
 | |
| .Nx
 | |
| extension.
 | |
| .Pc
 | |
| .It Cm \&%w
 | |
| the weekday as a decimal number [0,6], with 0 representing Sunday;
 | |
| leading zeros are permitted but not required.
 | |
| .It Cm \&%W
 | |
| the week number of the year (Monday as the first day of the week)
 | |
| as a decimal number [0,53];
 | |
| leading zeros are permitted but not required.
 | |
| All days in a year preceding the first Monday are considered to be in week 0.
 | |
| .It Cm \&%x
 | |
| the date, using the locale's date format.
 | |
| .It Cm \&%X
 | |
| the time, using the locale's time format.
 | |
| .It Cm \&%y
 | |
| the year within the 20th century [69,99] or the 21st century [0,68];
 | |
| leading zeros are permitted but not required.
 | |
| If specified in conjunction
 | |
| with \&%C, specifies the year [0,99] within that century.
 | |
| .It Cm \&%Y
 | |
| the year, including the century (i.e., 1996).
 | |
| .It Cm \&%z
 | |
| an ISO 8601 or RFC-2822 timezone specification.
 | |
| This is one of the following:
 | |
| the offset from
 | |
| Coordinated Universal Time
 | |
| .Pq Ql UTC
 | |
| specified as:
 | |
| .Dq [+-]hhmm ,
 | |
| .Dq [+-]hh:mm ,
 | |
| or
 | |
| .Dq [+-]hh ;
 | |
| .Ql UTC
 | |
| specified as:
 | |
| .Dq GMT
 | |
| .Pq Ql Greenwich Mean Time ,
 | |
| .Dq UT
 | |
| .Pq Ql Universal Time ,
 | |
| or
 | |
| .Dq Z
 | |
| .Pq Ql Zulu Time ;
 | |
| a three character US timezone specified as:
 | |
| .Dq EDT ,
 | |
| .Dq EST ,
 | |
| .Dq CDT ,
 | |
| .Dq CST ,
 | |
| .Dq MDT ,
 | |
| .Dq MST ,
 | |
| .Dq PDT ,
 | |
| or
 | |
| .Dq PST ,
 | |
| with the first letter standing for
 | |
| .Ql Eastern
 | |
| .Pq Dq E ,
 | |
| .Ql Central
 | |
| .Pq Dq C ,
 | |
| .Ql Mountain
 | |
| .Pq Dq M
 | |
| or
 | |
| .Ql Pacific
 | |
| .Pq Dq P ,
 | |
| and the second letter standing for
 | |
| .Ql Daylight
 | |
| .Po
 | |
| .Dq D
 | |
| or summer
 | |
| .Pc
 | |
| time
 | |
| or
 | |
| .Ql Standard
 | |
| .Pq Dq S
 | |
| time;
 | |
| a single letter military timezone specified as:
 | |
| .Dq A
 | |
| through
 | |
| .Dq I
 | |
| and
 | |
| .Dq K
 | |
| through
 | |
| .Dq Y .
 | |
| .Po
 | |
| A
 | |
| .Nx
 | |
| extension.
 | |
| .Pc
 | |
| .It Cm \&%Z
 | |
| timezone name or no characters when time zone information is unavailable.
 | |
| .Po
 | |
| A
 | |
| .Nx
 | |
| extension.
 | |
| .Pc
 | |
| .It Cm \&%%
 | |
| matches a literal `%'.
 | |
| No argument is converted.
 | |
| .El
 | |
| .Ss Modified conversion specifications
 | |
| For compatibility, certain conversion specifications can be modified
 | |
| by the
 | |
| .Cm E
 | |
| and
 | |
| .Cm O
 | |
| modifier 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.
 | |
| .Pp
 | |
| Case is ignored when matching string items in
 | |
| .Fa buf ,
 | |
| such as month and weekday names.
 | |
| .Sh RETURN VALUES
 | |
| If successful, the
 | |
| .Fn strptime
 | |
| function returns a pointer to the character following the last character
 | |
| parsed.
 | |
| Otherwise, a
 | |
| .Dv NULL
 | |
| pointer is returned.
 | |
| .Sh SEE ALSO
 | |
| .Xr ctime 3 ,
 | |
| .Xr isspace 3 ,
 | |
| .Xr localtime 3 ,
 | |
| .Xr strftime 3 ,
 | |
| .Xr tm 3
 | |
| .Sh STANDARDS
 | |
| The
 | |
| .Fn strptime
 | |
| function conforms to
 | |
| .St -xpg4 .
 | |
| .Sh BUGS
 | |
| The
 | |
| .Cm \&%Z
 | |
| format specifier only accepts timezone
 | |
| abbreviations of the local timezone,
 | |
| or the value
 | |
| .Dq 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.
 |