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

FreeBSD Manual Pages

  
 
  

home | help
DATE(1)			    General Commands Manual		       DATE(1)

NAME
       date -- display or set date and time

SYNOPSIS
       date   [-jnu]   [-d   dst]   [-r	  seconds]   [-t   minutes_west]   [-v
	    [+|-]val[ymwdHMS]]... [-f	fmt date | [[[[[cc] yy]	 mm]  dd]  HH]
	    MM[.ss]] [+format]

DESCRIPTION
       Date displays the current date and time when invoked without arguments.
       Providing arguments will	format the date	and time in a user-defined way
       or set the date.	 Only the superuser may	set the	date.

       The options are as follows:

       -d      Set  the	 kernel's  value for daylight savings time.  If	dst is
	       non-zero, future	calls to gettimeofday(2) will  return  a  non-
	       zero `tz_dsttime'.

       -f      Use  fmt	as the format string to	parse the date provided	rather
	       than using the default [[[[[cc] yy] mm] dd] HH] MM[.ss] format.
	       Parsing is done using strptime(3).

       -j      Do not try to set the date.  This allows	you to use the -f flag
	       in addition to the + option to convert one date format  to  an-
	       other.

       -n      The  utility  timed(8)  is  used	 to  synchronize the clocks on
	       groups of machines.  By default,	if timed is running, date will
	       set the time on all of the machines in the local	group.	The -n
	       option stops date from setting the time for other than the cur-
	       rent machine.

       -r      Print out the date and time that	 is  seconds  from  the	 Epoch
	       (00:00:00 UTC, January 1, 1970; see time(3)).

       -t      Set  the	 kernel's value	for minutes west of GMT.  Minutes_west
	       specifies the number of minutes returned	in `tz_minuteswest' by
	       future calls to gettimeofday(2).

       -u      Display or set the date in UCT (universal) time.

       -v      Adjust the second, minute, hour,	month day, week	day, month  or
	       year according to val.  If val is preceded with a plus or minus
	       sign,  the  date	is adjusted forwards or	backwards according to
	       the remaining string, otherwise the relevant part of  the  date
	       is set.	The date can be	adjusted as many times as required us-
	       ing these flags.	 Flags are processed in	the order given.

	       Seconds	are  in	the range 0-59,	minutes	are in the range 0-59,
	       hours are in the	range 1-12, month days are in the range	 1-31,
	       week  days  are	in  the	range 0-6 (Sun-Sat), months are	in the
	       range 1-12 (Jan-Dec) and	 years	are  in	 the  range  80-38  or
	       1980-2038.

	       If  val is numeric, one of either y, m, w, d, H,	M or S must be
	       used to specify which part of the date is to be adjusted.

	       The week	day or month may be specified using a name rather than
	       a number.  If a name is used with the plus (or minus) sign, the
	       date will be put	forwards (or backwards)	to the next (previous)
	       date that matches the given week	day or month.  This  will  not
	       adjust  the  date if the	given week day or month	is the same as
	       the current one.

	       Refer to	the examples below for further details.

       An operand with a leading plus ("+") sign signals a user-defined	format
       string which specifies the format in which  to  display	the  date  and
       time.   The  format string may contain any of the conversion specifica-
       tions described in the strftime(3) manual page, as well	as  any	 arbi-
       trary  text.   A	<newline> character is always output after the charac-
       ters specified by the format string.  The format	string for the default
       display is "+%+".

       If an operand does not have a leading plus sign,	it is interpreted as a
       value for setting the system's notion of	the  current  date  and	 time.
       The canonical representation for	setting	the date and time is:

	     cc	     Century  (either  19  or 20) prepended to the abbreviated
		     year.
	     yy	     Year in abbreviated form (e.g. 89 for 1989, 06 for	2006).
	     mm	     Numeric month.  A number from 1 to	12.
	     dd	     Day, a number from	1 to 31.
	     HH	     Hour, a number from 0 to 23.
	     MM	     Minutes, a	number from 0 to 59.
	     .ss     Seconds, a	number from 0 to 61 (59	plus a maximum of  two
		     leap seconds).

       Everything but the minutes is optional.

       Time changes for	Daylight Saving	and Standard time and leap seconds and
       years are handled automatically.

EXAMPLES
       The command:

	     date "+DATE: %Y-%m-%d%nTIME: %H:%M:%S"

       will display:

	     DATE: 1987-11-21
	     TIME: 13:36:16

       The command:

	     date -v1m -v+1y

       will display:

	     Sun Jan  4	03:15:24 GMT 1998

       where it	is currently Mon Aug  4	04:15:24 BST 1997.

       The command:

	     date -v1d -v3m -v0y -v-1d

       will display the	last day of February in	the year 2000:

	     Tue Feb 29	03:18:00 GMT 2000

       The command:

	     date -v1d -v+1m -v-1d -v-fri

       will display the	last Friday of the month:

	     Fri Aug 29	04:31:11 BST 1997

       where it	is currently Mon Aug  4	04:31:11 BST 1997.

       The command:

	     date 8506131627

       sets the	date to	"June 13, 1985,	4:27 PM".

       The command:

	     date 1432

       sets the	time to	2:32 PM, without modifying the date.

ENVIRONMENT
       The  execution  of  date	is affected by the following environment vari-
       ables:

       TZ      The timezone to use when	displaying dates.  The	normal	format
	       is  a  pathname	relative to /usr/share/zoneinfo.  For example,
	       the command "TZ=America/Los_Angeles date" displays the  current
	       time in California.  See	environ(7) for more information.

FILES
       /var/log/wtmp	  a record of date resets and time changes
       /var/log/messages  a record of the user setting the time

SEE ALSO
       gettimeofday(2),	strftime(3), strptime(3), utmp(5), timed(8)

       R.  Gusella  and	 S.  Zatti, TSP: The Time Synchronization Protocol for
       UNIX 4.3BSD.

DIAGNOSTICS
       The date	utility	exits 0	on success, 1 if unable	to set the date, and 2
       if able to set the local	date, but unable to set	it globally.

       Occasionally, when timed	synchronizes the time on many hosts, the  set-
       ting of a new time value	may require more than a	few seconds.  On these
       occasions,   date  prints:  `Network  time  being  set'.	  The  message
       `Communication error with timed'	occurs when the	communication  between
       date and	timed fails.

STANDARDS
       The  date  command  is  expected	 to be compatible with IEEE Std	1003.2
       ("POSIX.2").

HISTORY
       A date command appeared in Version 1 AT&T UNIX.

FreeBSD	4.0		       November	17, 1993		       DATE(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=date&manpath=FreeBSD+4.0-RELEASE>

home | help