Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
getdate(3C)							   getdate(3C)

       getdate() - convert user	format date and	time

   Obsolescent Interface
       The  function  converts	user definable date and/or time	specifications
       pointed to by string into a The structure declaration is	in the	header
       file (see ctime(3C)).

       User-supplied  templates	 are  used  to	parse  and interpret the input
       string.	The templates are text files created by	the user  and  identi-
       fied  via  the  environment variable should be set to indicate the full
       path name of the	template file.	The first line in  the	template  that
       matches	the input specification	is used	for interpretation and conver-
       sion into the internal time format.  Upon  successful  completion,  re-
       turns  a	 pointer to a otherwise, it returns NULL and the symbol	is set
       to indicate the error.

       The following field descriptors are supported:

	      same as
	      abbreviated weekday name
	      full weekday name
	      abbreviated month	name
	      full month name
	      locale's appropriate date	and time representation
	      day of the month (01 through 31; the leading 0 is	optional)
	      same as
	      date as
	      abbreviated month	name
	      hour (00 through 23)
	      hour (01 through 12)
	      month number (01 through 12)
	      minute (00 through 59)
	      same as
	      locale's equivalent of either
			AM or PM
	      time as
	      time as
	      seconds (00 through 61)
	      insert a tab
	      time as
	      weekday number (Sunday = 0 through Saturday = 6)
	      locale's appropriate date	representation
	      locale's appropriate time	representation
	      year without century (00 through 99).  For inputs
			69-99, the 20th	century	(1900s)	is  assumed,  and  for
			inputs 00-68, the 21st century (2000s) is assumed.
	      year as	ccyy (e.g., 1986)
	      time zone	name or	no characters if no time zone exists.
			If  the	 time  zone supplied by	is not the same	as the
			time zone expects, an invalid specification  error  is
			returned.   calculates the expected time zone from the
			environment variable.

       Month and weekday names may consist of any combination of uppercase and
       lowercase  letters.   The  user can request that	the input date or time
       specification be	in a specific language by setting  the	category  (see

       For  descriptors	 that allow leading zeros, leading zeros are optional.
       However,	the number of digits used for those descriptors	must  not  ex-
       ceed two, including leading zeros.  Extra whitespace in either the tem-
       plate file or in	string is ignored.

       The field descriptors and are not supported if they include unsupported
       field descriptors.

       The following example shows the possible	contents of a template:

       The  following are examples of valid input specifications for the above

       If the category is set to a German locale that includes	as  a  weekday
       name and	as a month name, the following would be	valid:

       This example shows how local date and time specification	can be defined
       in the template:

	      |	       Invocation	  | Line in Template |
	      |getdate("11/27/86")	  | %m/%d/%y	     |
	      |getdate("27.11.86")	  | %d.%m.%y	     |
	      |getdate("86-11-27")	  | %y-%m-%d	     |
	      |getdate("Friday 12:00:00") | %A %H:%M:%S	     |
       The following rules apply when converting the input specification  into
       the internal format:

	      o	 If  only  the weekday is given, today is assumed if the given
		 day is	equal to the current day, and next week	if it is less.

	      o	 If only the month is given, the current month is  assumed  if
		 the  given month is equal to the current month, and next year
		 if it is less and no year is given  (the  first  day  of  the
		 month is assumed if no	day is given).

	      o	 If  no	 hour,	minute and second are given, the current hour,
		 minute	and second are assumed.

	      o	 If no date is given, today is assumed if the  given  hour  is
		 greater  than	the current hour and tomorrow is assumed if it
		 is less.

       The following examples help to illustrate the above rules assuming that
       the current date	is and the category is set to the default locale.

	      |		    | Line in  |			      |
	      |	  Input	    | Template |	     Date	      |
	      |Mon	    | %a       | Mon Sep 22 12:19:47 EDT 1986 |
	      |Sun	    | %a       | Sun Sep 28 12:19:47 EDT 1986 |
	      |Fri	    | %a       | Fri Sep 26 12:19:47 EDT 1986 |
	      |September    | %B       | Mon Sep 1 12:19:47 EDT	1986  |
	      |January	    | %B       | Thu Jan 1 12:19:47 EST	1987  |
	      |December	    | %B       | Mon Dec 1 12:19:47 EST	1986  |
	      |Sep Mon	    | %b %a    | Mon Sep 1 12:19:47 EDT	1986  |
	      |Jan Fri	    | %b %a    | Fri Jan 2 12:19:47 EST	1987  |
	      |Dec Mon	    | %b %a    | Mon Dec 1 12:19:47 EST	1986  |
	      |Jan Wed 1989 | %b %a %Y | Wed Jan 4 12:19:47 EST	1989  |
	      |Fri 9	    | %a %H    | Fri Sep 26 09:00:00 EDT 1986 |
	      |Feb 10:30    | %b %H:%S | Sun Feb 1 10:30:00 EST	1987  |
	      |10:30	    | %H:%M    | Tue Sep 23 10:30:00 EDT 1986 |
	      |13:30	    | %H:%M    | Mon Sep 22 13:30:00 EDT 1986 |
   Obsolescent Interface
       converts	user format date and time.

       Upon failure, returns NULL and the symbol is set	to indicate the	error.

       The  following is a complete list of the	settings and their interpreta-

		 environment variable is null or undefined,

	      the template file	cannot be opened for reading,

	      failed to	get file status	information,

	      the template file	is not a regular file,

	      an error is encountered while reading the	template file,

	      memory allocation	failed (not enough memory available),

	      there is no line in the template that matches the	input,

	      invalid input specification.  For	example,
		 February 31; or the time specified cannot be  represented  in
		 the data type in 32-bit HP-UX (which represents Tuesday Janu-
		 ary 19	03:14:07 UTC, 2038) or exceeds the maximum  date  sup-
		 ported	 in 64-bit HP-UX (which	is Friday December 31 23:59:59
		 UTC, 9999).

       The return value	for points to data whose  content  is  overwritten  by
       each call by the	same thread.

       is  an  obsolescent interface supported only for	compatibility with ex-
       isting DCE applications.	New multi-threaded applications	should use

       ctime(3C), ctype(3C), setlocale(3C), strftime(3C), thread_safety(5).



Want to link to this manual page? Use this URL:

home | help