date - display or set date and time
date [-anu] [-d dst] [-r seconds] [-t minutes_west]
[+format]
[[[[[[cc]yy]mm]dd]HH]MM[.SS]]
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 dst Set the system's value for Daylight Saving Time. If
dst is nonzero,
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 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).
-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
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:
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.
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 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"
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
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)
R. Gusella and S. Zatti, TSP: The Time Synchronization
Protocol for UNIX
4.3BSD.
The date utility is expected to be compatible with IEEE Std
1003.2
(``POSIX.2'').
A date command appeared in Version 1 AT&T UNIX.
OpenBSD 3.6 April 28, 1995
[ Back ] |