date(1) — Commands
NAME
date − Displays or sets the date
SYNOPSIS
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 ...]
DESCRIPTION
The date command displays the date and, with superuser authority, sets the system date.
Displaying the Date
The date command writes the current date and time to standard output if called with no flags or with a flag list that begins with a + (plus sign).
The current month, day, hour, and year are default values. The system operates in Coordinated Universal Time (UTC).
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 character. Output fields are fixed size (zero padded if necessary).
The date command prints out a usage message on any unrecognized flags or input.
Field Descriptors
aDisplays the locale’s abbreviated weekday name (Sun to Sat or the non-English equivalent).
ADisplays the locale’s full weekday name.
bDisplays the locale’s abbreviated month name.
BDisplays the locale’s full month name.
cDisplays the locale’s appropriate time and date representation.
CDisplays the locale’s century (the year divided by 100 and truncated to an integer) as a decimal number (00 to 99).
dDisplays the day of month as a decimal number (01 to 31).
DDisplays the date in the format mm/dd/yy (the default), or as specified by the LC_TIME environment variable, if defined.
eDisplays the day of the month as a decimal number (1 to 31 in a 2-digit field with leading space fill).
EcSpecifies the name of the base year (period) in the locale’s alternative representation.
ECSpecifies the name of the base year (period) in the locale’s alternative representation.
ExSpecifies the locale’s alternative date representation.
EySpecifies the offset from %EC (year only) in the locale’s alternative representation.
EYSpecifies the full alternative year representation.
hA synonym for %b.
HDisplays the hour as a decimal number (00 to 23).
IDisplays the hour as a decimal number (01 to 12).
jDisplays the day of year as a decimal number (001 to 366).
mDisplays the month of year as a decimal number (01 to 12).
MDisplays the minute as a decimal number (00 to 59).
nInserts a newline character.
NRepresents the alternative era name.
oRepresents the alternative era year.
OdSpecifies the day of the month using the locale’s alternative numeric symbols.
OeSpecifies the day of the month using the locale’s alternative numeric symbols.
OHSpecifies the hour (24-hour clock) using the locale’s alternative numeric symbols.
OISpecifies the hour (12-hour clock) using the locale’s alternative numeric symbols.
OmSpecifies the month using the locale’s alternative numeric symbols.
OMSpecifies the inutes using the locale’s alternative numeric symbols.
OSSpecifies the seconds using the locale’s alternative numeric symbols.
OUSpecifies the week number of the year (Sunday as the first day of the week) using the locale’s alternative numeric symbols.
OwSpecifies the weekday as a number in the locale’s alternative representation (Sunday = 0).
OWSpecifies the week number of the year (Monday as the first day of the week) using the locale’s alternative numeric symbols.
OySpecifies the year (offset from %C) in alternative representation.
pDisplays the locale’s equivalent of either AM or PM.
rDisplays the time (12-hour clock) using AM/PM notation (or the non-English equivalent) in the format hh:mm:ss AM or hh:mm:ss PM.
SDisplays the second as a decimal number (00 to 61).
tInserts a tab character.
TDisplays the time in 24-hour clock format as hh:mm:ss (the default), or as specified by the LC_TIME environment variable, if defined.
uDisplays the weekday as a decimal number [1,7], with 1 representing Monday.
UDisplays the week number of the year (Sunday is the first day of the week) as a decimal number (00 to 53).
VDisplays 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 or the previous year, and the next week is week 1.
wDisplays the day of the week as a decimal number (Sunday = 0).
WDisplays the week number of the year (Monday is the first day of the week) as a decimal number (00 to 53).
xDisplays the locale’s appropriate date representation.
XDisplays the locale’s appropriate time representation.
yDisplays the last two numbers of the year as a decimal number (00 to 99).
YDisplays the full year as a decimal number.
ZDisplays the time zone name, or no characters 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 time. The LC_TIME variable, if it is defined, controls the ordering of the day and month numbers in the date specification. The default order is MMddhhmm.ssyy 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 minute number.
•ss is the number of seconds.
•yy is the last two numbers of the year.
The alternative ordering is either ddMMhhmm.ssyy, yyMMddhhmm.ss, or yyddMMhhmm.ss. If format yyMM... is specified, the value of yy must be 88 to 99.
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.
Note that 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 command
mount -u /
after you enter a date containing a new year. The mount -u / command writes the new year into the superblock on the system disk. Note also that the root filesystem is now mounted read/write.
FLAGS
−nDoes not set the time globally on all machines in a local area network that have their clocks synchronized (superuser only).
−uPerforms 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.
EXAMPLES
1.To display current date and time, enter:
date
Depending on your current locale, the output might look like one of the following:
Thu Apr 12 13:21:30 EDT 1992
jeu 12 avr 17:21:30 CUT 1992
tor 12 apr 17:21:30 CUT 1992
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.
2.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.
3.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:03 PM 17 Feb 93 (Fri)
Do not change the date while the system is running with more than one user.
RELATED INFORMATION
Functions: gettimeofday(2), setclock(3), getclock(3).
Command and Shell User’s Guide.