date - display or set date and time
date [-anu] [-d dst] [-r seconds] [-t minutes_west]
When invoked without arguments, the date utility displays
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:
-a 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 nonzero,
future calls to gettimeofday(2) will return a
-n By default, if the timed(8) daemon is running, date
sets the time
on all of the machines in the local group. The -n
this behavior and causes the time to be set
only on the
Print out (in specified format) the date and time
seconds from the Epoch.
Set the system's value for minutes west of GMT.
specifies the number of minutes returned in
tz_minuteswest by future
calls to gettimeofday(2).
-u 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 (`0) character is always output after the characters
by the format string. The format string for the default
%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:
yy Year in abbreviated form (for years
1969-2068). The format
ccyymmddHHMM is also permitted, for non-ambiguous years.
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 Minute, a number from 0 to 59.
SS Second, a number from 0 to 61 (59 plus a maximum of two
Everything but the minute is optional.
Time changes for Daylight Saving Time, standard time, leap
leap years are handled automatically.
TZ The timezone to use when displaying dates. See environ(7) for
more information. If this variable is not set, the
determined based on /etc/localtime, which the administrator adjusts
using the -l option of zic(8).
/var/log/wtmp record of date resets and time changes
/var/log/messages record of the user setting the time
The following command:
$ date "+DATE: %Y-%m-%d%nTIME: %H:%M:%S"
Set the date to June 13, 1985, 4:27 PM:
# date 8506131627
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
``Communication error with timed'' occurs when the communication between
date and timed(8) fails.
adjtime(2), gettimeofday(2), strftime(3), utmp(5), ntpd(8),
R. Gusella and S. Zatti, TSP: The Time Synchronization
Protocol for UNIX
The date utility is expected to be compatible with IEEE Std
A date command appeared in Version 1 AT&T UNIX.
OpenBSD 3.6 April 28, 1995
[ Back ]