DATE(1) BSD Reference Manual DATE(1)NAMEdate - display or set date and time
SYNOPSISdate [-nu] [-d dst] [-r seconds] [-t minutes_west] [+format]
[[[[[yyyy]mm]dd]hh]mm[.ss]]
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'.
-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-
chine.
-r Use the date and time given, in seconds from the Epoch, instead
of the current time.
-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.
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:
%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:
yyyy The year as a four-digit number. Valid dates are from 1900
onward.
For compatibility with the historic date command-line in-
terface, a two-digit abbreviated form of the year may be
specified instead of the full four digits (e.g., 89 for
1989, 00 for 2000, and 10 for 2010). Valid abbreviated
dates are from 1970 through 2069.
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 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.
Changes in the system time are logged to the /var/log/wtmp file; see
wtmp(5) for more information.
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 setting
of a new time value may require more than a few seconds. On these occa-
sions, date writes `Network time being set'. When the communication be-
tween date and timed fails, the message `Communication error with timed'
is written.
EXAMPLES
The command:
date +"DATE: %m/%d/%y%nTIME: %H:%M:%S"
will display:
DATE: 11/21/87
TIME: 13:36:16
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 following environment variables affect the execution of date:
TZ The time zone to use when displaying dates. 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 ALSOgettimeofday(2), strftime(3), utmp(5), timed(8), xntpd(8)BUGS
For security reasons, the system won't permit date to set the time to an
earlier time than the current time if the security level is greater than
zero. On most systems, that means that the date must be set in single
user mode. See gettimeofday(2).
STANDARDS
The date command is expected to be compatible with IEEE Std1003.2
(``POSIX'').
BSDI BSD/OS April 28, 1995 2