date (host)
Display or set the date and time (POSIX)
Syntax:
Display the date and time:
date [-tuv] [-s seconds] [+format]
Set the date and time:
date [-uv] [-S seconds] date
Runs on:
Microsoft Windows
Options:
- -S seconds
- Set the maximum number of seconds (of real time) over which date is to adjust the time. The date utility doesn't increase the clock speed by more than 100% or decrease it by more than 50%. If date can't do a slow adjustment within those constraints, the time is changed immediately. (The default is 300 seconds; use -S0 to disable the gradual adjustment.)
- -s seconds
- Display the string equivalent of this date, supplied as seconds since the start of the Epoch (00:00 January 1, 1970). This value is used instead of the system time value for the number of seconds.
- -t
- Display the current operating system time, in seconds since the start of the Epoch, as a long integer.
- -u
- Perform operations using Coordinated Universal Time (UTC) instead of local time. UTC is the standard term for Greenwich Mean Time (GMT).
- -v
- Be verbose.
- date
- A date specification to set the date to. Only the superuser (root) can
change the date. For more information, see
Setting the date,
below. - +format
- The format in which the date and time are to be displayed.
Description:
The date utility is used to display and set the current system date and time in software. Only the superuser (root) may use date to set the time.
Displaying the date
The date utility normally displays the current date and time according to the operating system's internal time, maintained in software as the number of seconds since the Epoch (00:00 January 1, 1970). When the -s seconds option is used, date uses the value specified by the seconds argument instead of the current OS time.
You can specify the format and content of the displayed date and time with the
+format option. The format is
composed of ASCII characters and field descriptors prefaced with %
, in a
manner similar to a C-language printf() format specifier (the specific
characters used to specify field types are, however, completely different). In the output,
each field descriptor is replaced by its corresponding value; all other characters are
copied to the output without change.
The date utility always terminates its output with a newline character.
Setting the date
If you're a system administrator running as root, you may use date to set the system time. To set the hardware clock to match the current system time set by date, you should use the rtc utility.
By default, if the new time is in the range of:
(-2.5 minutes + old time, 5 minutes + old time)
the date utility makes a slow adjustment
; it increases the clock speed
by less than 100% or decreases the clock speed by less than 50% over a period of time from 1
second to 5 minutes until the clock catches up with the new time. This slow adjustment
doesn't cause major discontinuities in the time flow. You can disable the slow adjustment by
using the -S0 option.
The date utility recognizes this format for setting the time:
- MMDDhhmm[[CC]YY][.SS]
where:
- CC
- Century (e.g., 19 if the year is 1997)
- YY
- Year modulo 100 (e.g., 97 if the year is 1997). When the century is not specified (with CC), the years 69-99 are 1969 to 1999, and 00-68 are 2000 to 2068.
- MM
- Numerical month of the year (01 for January, 02 for February, etc.)
- DD
- Day of the month
- hh
- Hour of the day
- mm
- Minute of the hour
- SS
- Seconds of the minute
If you change the date or time, date adds a a line to the /var/log/wtmp if it already exists.
Examples:
Set the system date to 22 February 1997:
$ date 0222000097
Set the system date and time to 11 May 2017, 4:30 pm:
$ date 051116302017
Files:
- /var/log/wtmp
- If you change the data or time, and this file already exists, an entry is added to it to log the change.
Environment variables:
- TZ
- Specifies the local time zone. The value of TZ affects the conversion between the system clock (UTC) and the local time.
Exit status:
- 0
- The date was displayed or set successfully.
- >0
- An error occurred.
Caveats:
Some field descriptors are of undefined format when not in the POSIX locale. As a result, parsing the output of date may be difficult in other locales. QNX OS currently supports only the POSIX (i.e., C) locale.