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

FreeBSD Manual Pages


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

     date -- display or	set date and time

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

     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

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

     -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 current ma-

     -r	     Print out the date	and time in seconds from the Epoch.

     -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	minute,	hour, month day, week day, month or year ac-
	     cording to	val.  If val is	preceeded with a plus or minus sign,
	     the date is adjusted forwards or backwards	according to the re-
	     maining string, otherwise the relevant part of the	date is	set.
	     The date can be adjusted as many times as required	using these
	     flags.  Flags are processed in the	order given.

	     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 or M 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 ad-
	     just 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 specifications	de-
     scribed in	the strftime(3)	manual page, as	well as	any arbitrary text.  A
     <newline> character is always output after	the characters 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:

	   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.

     The command:

	   date	``+DATE: %m/%d/%y%nTIME: %H:%M:%S''

     will display:

	   DATE: 11/21/87
	   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.

     The execution of date is affected by the following	environment variables:

     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.

     /var/log/wtmp	A record of date resets	and time changes.
     /var/log/messages	A record of the	user setting the time.

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

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

     Exit status is 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 setting
     of	a new time value may require more than a few seconds.  On these	occa-
     sions, date prints: `Network time being set'.  The	message	`Communication
     error with	timed' occurs when the communication between date and timed

     The system	attempts to keep the date in a format closely compatible with
     VMS.  VMS,	however, uses local time (rather than GMT) and does not	under-
     stand daylight-savings time.  Thus, if you	use both UNIX and VMS, VMS
     will be running on	GMT.

     The date command is expected to be	compatible with	IEEE Std 1003.2

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

BSD			       November	17, 1993			   BSD


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

home | help