DATE(1) AerieBSD 1.0 Refernce Manual DATE(1)


date — display or set date and time


date [-ajnu] [-d dst] [-r seconds] [-t minutes_west] [-+] .Sm off .Oo Oo Oo Oo Oo Oo ccOc yyOc mmOc ddOc HHOc MM[\&.SSOc] .Sm on


When invoked without arguments, the date utility displays the current date and time. Otherwise, depending on the options specified, date will set the date and time or print it in a user-defined way.

Only the superuser may set the date.

The options are as follows:
Use the adjtime(2) call to gradually skew the local time to the remote time rather than just hopping.
-d dst
Set the system's value for Daylight Saving Time. If dst is non-zero, future calls to gettimeofday(2) will return a non-zero value for tz_dsttime.
Parse the provided date and time and display the result without changing the clock.
By default, if the timed(8) daemon is running, date sets the time on all of the machines in the local group. The -n option suppresses this behavior and causes the time to be set only on the current machine.
-r seconds
Print out (in specified format) the date and time represented by seconds from the Epoch.
-t minutes_west
Set the system's value for minutes west of GMT. minutes_west specifies the number of minutes returned in tz_minuteswest by future calls to gettimeofday(2).
Display or set the date in UTC (Coordinated Universal) time.

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 described in the strftime(3) manual page, as well as any arbitrary text. A newline ("\en") character is always output after the characters specified by the format string. The format string for the default display is:

%a %b %e %H:%M:%S %Z %Y

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:

Year: the first two digits (representing the century) may be omitted for non-ambiguous years (1969\-2068).
Numeric month: a number from 1 to 12.
Day: a number from 1 to 31.
Hour: a number from 0 to 23.
Minute: a number from 0 to 59.
Second: a number from 0 to 61 (59 plus a maximum of two leap seconds).

Everything but the minute is optional.

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


The time zone to use when displaying dates. See environ(7) for more information. If this variable is not set, the time zone is determined based on /etc/localtime, which the administrator adjusts using the -l option of zic(8).


record of date resets and time changes
record of the user setting the time


Display the date using the specified format string:

$ date "+DATE: %Y-%m-%d%nTIME: %H:%M:%S"
DATE: 1987-11-21
TIME: 13:36:16

Set the date to June 13, 1985, 4:27 PM:

     # date 198506131627

Set the time to 2:32 PM, without modifying the date:

     # date 1432


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(8) synchronizes the time on many hosts, the setting 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(8) fails.


adjtime(2), gettimeofday(2), strftime(3), utmp(5), ntpd(8), rdate(8), timed(8) .Rs .%T "TSP: The Time Synchronization Protocol for UNIX 4.3BSD" .%A R. Gusella .%A S. Zatti .Re


The date utility is compliant with the specification.

The flags [-adjnrt] are extensions to that specification.


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

AerieBSD 1.0 Reference Manual August 26 2008 DATE(1)