DATE(1) BSD Reference Manual DATE(1)NAMEdate - display or set date and time
SYNOPSISdate [-aDnRu] [-d dst] [-r seconds] [-t minutes_west] [+format]
[[[[[[cc]yy]mm]dd]HH]MM[.SS]]
DESCRIPTION
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:
-a Use the adjtime(2) call to gradually skew the local time to the
remote time rather than just hopping.
-D Dump the time (struct tm, TAI with usecs, and UTC) to stdout.
-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.
-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 option
suppresses this behavior and causes the time to be set only on
the current machine.
-R Select RFC 2822 format.
-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 fu-
ture 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 ('\n') character is always output after the characters speci-
fied 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:
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
leap seconds).
Everything but the minute is optional.
Time changes for Daylight Saving Time, standard time, leap seconds, and
leap years are handled automatically.
ENVIRONMENT
TZ The timezone to use when displaying dates. See environ(7) for
more information. If this variable is not set, the timezone is
determined based on /etc/localtime, which the administrator ad-
justs using the -l option of zic(8).
FILES
/var/log/wtmp record of date resets and time changes
/var/log/messages record of the user setting the time
EXAMPLES
The following command:
$ date "+DATE: %Y-%m-%d%nTIME: %H:%M:%S"
displays:
DATE: 1987-11-21
TIME: 13:36:16
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
DIAGNOSTICS
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 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(8) fails.
SEE ALSOadjtime(2), gettimeofday(2), strftime(3), utmp(5), ntpd(8), rdate(8),
timed(8)
R. Gusella and S. Zatti, TSP: The Time Synchronization Protocol for UNIX
4.3BSD.
STANDARDS
The date utility is expected to be compatible with IEEE Std 1003.2
("POSIX.2").
HISTORY
A date command appeared in Version 1 AT&T UNIX.
The -D option is a MirOS #10 extension. The -R option is a GNU extension
and supported since MirOS #11.
MirOS BSD #10-current March 8, 2011 1