date(1)date(1)NAMEdate - Displays or sets the dateSYNOPSIS
Without Superuser Authority - Displays the Date
date [-u] [+field_descriptor ...]
With Superuser Authority - Sets the Date
date [-nu] [MMddhhmm.ssyy | alternate_date_format] [+field_descriptor
Using XCU5.0 - Sets or Displays the Date
date [-u] mmddHHMM[yy]
date [-u] [+field_descriptor ...]
Using the Century Field - Sets the Date
date mmddHHMM[[cc]yy] [.ss]
Interfaces documented on this reference page conform to industry stan‐
dards as follows:
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
[Tru64 UNIX] Does not set the time globally on all machines in a local
area network that have their clocks synchronized (superuser only).
Performs operations as if the TZ environment variable was set to the
string GMT0. Otherwise, date uses the time zone indicated by the TZ
environment variable or the system default if that variable is not set.
The date command displays the date and, with superuser authority, sets
the system date. The date command has been enhanced to support setting
the system date past the year 1999, thus providing customers with the
ability to begin testing their software for potential century rollover
Displaying the Date
The date command writes the current date and time to standard output if
called with no options or with a option list that begins with a + (plus
If you follow date with a + (plus sign) and a field descriptor, you can
control the output of the command. You must precede each field
descriptor with a % (percent sign). The system replaces the field
descriptor with the specified value. Enter a literal % as %%. The
date command copies any other characters to standard output without
change. The date command always ends the string with a newline charac‐
ter. Output fields are fixed size (zero padded if necessary).
[Tru64 UNIX] The date command prints out a usage message on any unrec‐
ognized options or input.
Displays the locale's abbreviated weekday name (Sun to Sat or the non-
English equivalent). Displays the locale's full weekday name. Dis‐
plays the locale's abbreviated month name. Displays the locale's full
month name. Displays the locale's appropriate time and date represen‐
tation. Displays the locale's century (the year divided by 100 and
truncated to an integer) as a decimal number (00 to 99). Displays the
day of month as a decimal number (01 to 31). Displays the date in the
format mm/dd/yy independent of the value specified by the LC_TIME envi‐
ronment variable, if defined. Displays the day of the month as a deci‐
mal number (1 to 31 in a 2-digit field with leading space fill). Spec‐
ifies the locale's alternative date and time representation. Specifies
the name of the base year (period) in the locale's alternative repre‐
sentation. Specifies the locale's alternative date representation.
Specifies the locale's alternative time representation. Specifies the
offset from %EC (year only) in the locale's alternative representation.
Specifies the full alternative year representation. A synonym for %b.
Displays the hour as a decimal number (00 to 23). Displays the hour as
a decimal number (01 to 12). Displays the day of year as a decimal
number (001 to 366). Displays the month of year as a decimal number
(01 to 12). Displays the minute as a decimal number (00 to 59).
Inserts a newline character. [Tru64 UNIX] Represents the alternative
era name. [Tru64 UNIX] Represents the alternative era year. Speci‐
fies the day of the month using the locale's alternative numeric sym‐
bols. Specifies the day of the month using the locale's alternative
numeric symbols. Specifies the hour (24-hour clock) using the locale's
alternative numeric symbols. Specifies the hour (12-hour clock) using
the locale's alternative numeric symbols. Specifies the month using
the locale's alternative numeric symbols. Specifies the minutes using
the locale's alternative numeric symbols. Specifies the seconds using
the locale's alternative numeric symbols. Specifies the weekday as a
number in the locale's alternative representation (Monday=1). Speci‐
fies the week number of the year (Sunday as the first day of the week)
using the locale's alternative numeric symbols. Specifies the weekday
as a number in the locale's alternative representation (Sunday = 0).
Specifies the week number of the year (Monday as the first day of the
week) using the locale's alternative numeric symbols. Specifies the
year (offset from %C) in alternative representation. Displays the
locale's equivalent of either AM or PM. Displays the time (12-hour
clock) using AM/PM notation (or the non-English equivalent) in the for‐
mat hh:mm:ss AM or hh:mm:ss PM. Displays the second as a decimal num‐
ber (00 to 61). Inserts a tab character. Displays the time in 24-hour
clock format as hh:mm:ss (the default), or as specified by the LC_TIME
environment variable, if defined. Displays the weekday as a decimal
number [1,7], with 1 representing Monday. Displays the week number of
the year (Sunday is the first day of the week) as a decimal number (00
to 53). All days in a new year preceding the first Sunday are consid‐
ered to be in week 0. Displays the week number of the year (Monday as
the first day of the week) as a decimal number (01 to 53). If the week
containing January 1 has four or more days in the new year, then it is
considered week 1; otherwise, it is week 53 of the previous year, and
the next week is week 1. Displays the day of the week as a decimal
number (Sunday = 0). Displays the week number of the year (Monday is
the first day of the week) as a decimal number (00 to 53). All days in
a new year preceding the first Monday are considered to be in week 0.
Displays the locale's appropriate date representation. Displays the
locale's appropriate time representation. Displays the last two num‐
bers of the year as a decimal number (00 to 99). Displays the full
year as a decimal number. Displays the time zone name, or no charac‐
ters if the time zone cannot be determined. Inserts a % character.
Setting the Date
Only a user operating with superuser authority can change the date and
The default input format for setting the date is mmddHHMM[[cc]yy][.ss]
where: mm is the month number (01=January). dd is the number of the
day in the month. HH is the hour in the day (using a 24-hour clock).
MM is the number of minutes. cc is the first two digits of the year.
yy is the last two digits of the year. If this field is omitted, the
current year is used. ss is the number of seconds.
The LC_TIME variable, if defined, controls the ordering of the day (dd)
and month (mm) numbers in these formats. The default order is the
month (mm) followed by the day (dd).
Each of the formats allows you to specify the century (first two digits
of the year). This century field (cc) is optional to ensure that input
formats previously accepted by the date command are still supported.
Currently, theXCU5.0 format does not have a century field. This is
consistent with current X/Open specifications regarding the date com‐
mand. The century field will be added to this format in a future
release of the operating system once this new field is officially sup‐
ported in future revisions of X/Open's UNIX specification.
[Tru64 UNIX] Reset the date in single-user mode only. Changing the
date in multiuser mode could cause the creation and modifications dates
for user files to be inconsistent.
[Tru64 UNIX] To change the year, the system disk must be updated with
the new year information. To change the year, in single-user mode enter
the following command after you enter a date containing a new year:
mount -u /
The mount -u / command writes the new year into the superblock on the
system disk. The root file system is now mounted read/write.
Handling of Two-Digit Year Input
When the year is specified using two digits (as in the XCU5.0 format or
when the [cc] field is omitted ), the century is determined in the fol‐
lowing manner: if the specified two-digit year is between 69 and 99
inclusive, the 20th century is assumed (that is, 19yy); otherwise, the
21st century is assumed (that is, 20yy).
This algorithm for determining the century is consistent with current
drafts of forthcoming X/Open UNIX specifications regarding two-digit
year handling in various system interfaces and commands, including the
date command. This algorithm is based on the standard UNIX epoch
(12:00:00 AM Jan 1, 1970 UTC), minus one year to account for different
time zones. Internal UNIX time handling is based on the number of sec‐
onds in this epoch.
Handling of Ambiguous Input
If the input string is ambiguous, that is, if the format cannot be con‐
clusively determined from the data, the date command will issue a warn‐
ing to stderr and assume the mmddHHMM[[cc]yy][.ss] format. To avoid
ambiguous input, use one of our formats and specify the [cc] field.
To display current date and time, enter: date
Depending on your current locale, the output might look like one
of the following: Thu Apr 16 13:21:30 EDT 1998
jeu 16 avr 17:21:30 CUT 1998
tor 16 apr 17:21:30 CUT 1998
The first output line is for an American English locale, the
second is for a French locale, and the third is for a Danish
locale. To set the date and time, enter: date 02171425.45
This sets the date and time to 14:25:45 (45 seconds after 2:25
p.m.) February 17 of the current year. To display the date and
time in a specified format, enter: date +"%r %d %h %y (%a)"
This displays the date (assume current year is 1993) shown in
Example 2 as: 02:25:45 PM 17 Feb 99 (Fri)
Do not set the date in multi-user mode.
Year 2000 Examples
To set the date to 09:34:00 AM Jan 7, 2000: Using the mmd‐
dHHMM[[cc]yy][.ss] format: date 010709342000 date 0107093400.00 date
010709342000.00 Using the [[cc]yy]mmddHHMM[.ss] format: date 0001070934
date 200001070934 date 200001070934.00 Using the mmddHHMM[.ss[[cc]yy]]
format: date 01070934.0000 date 01070934.002000 Using the mmddHHMM[yy]
format: date 0107093400 An example of ambiguous input: XCU5.0 date
This input could be recognized as one of the following formats:
mmddHHMM[[cc]yy][.ss] meaning 01:00:00 AM Jan 1, 2000
[[cc]yy]mmddHHMM[.ss] meaning 12:00:00 AM Jan 1, 2001
In this case, the date command will display a warning and assume
the mmddHHMM[[cc]yy][.ss] format, setting the date to 01:00:00
AM Jan 1, 2000.
The following environment variables affect the execution of date: Pro‐
vides a default value for the internationalization variables that are
unset or null. If LANG is unset or null, the corresponding value from
the default locale is used. If any of the internationalization vari‐
ables contain an invalid setting, the utility behaves as if none of the
variables had been defined. If set to a non-empty string value, over‐
rides the values of all the other internationalization variables.
Determines the locale for the interpretation of sequences of bytes of
text data as characters (for example, single-byte as opposed to multi‐
byte characters in arguments). Determines the locale for the format
and contents of diagnostic messages written to standard error. Deter‐
mines the format of the date and time strings written by date. Deter‐
mines the location of message catalogues for the processing of LC_MES‐
SAGES. Determines the time zone in which the time and date are writ‐
ten, unless the -u option is specified. If the TZ variable is not set
and the -u option is not specified, a system default time zone is used.
Routines: ctime(3), getclock(3), setclock(3)
Command and Shell User's Guide