date - print or set the system date and time
date [-u] [-d datestr] [-s datestr] [--utc] [--universal]
[--date=datestr] [--set=datestr] [--help] [--version]
This manual page documents the GNU version of date. date
with no arguments prints the current time and date (in the
format of the `%c' directive described below). If given
an argument that starts with a `+', it prints the current
time and date in a format controlled by that argument,
which has the same format as the format string passed to
the `strftime' function. Except for directives that start
with `%', characters in that string are printed unchanged.
The directives are:
% a literal %
n a newline
t a horizontal tab
%H hour (00..23)
%I hour (01..12)
%k hour ( 0..23)
%l hour ( 1..12)
%M minute (00..59)
%p locale's AM or PM
%r time, 12-hour (hh:mm:ss [AP]M)
%s seconds since 1970-01-01 00:00:00 UTC (a nonstan-
%S second (00..61)
%T time, 24-hour (hh:mm:ss)
%X locale's time representation (%H:%M:%S)
%Z time zone (e.g., EDT), or nothing if no time zone
%a locale's abbreviated weekday name (Sun..Sat)
%A locale's full weekday name, variable length (Sun-
%b locale's abbreviated month name (Jan..Dec)
%B locale's full month name, variable length (Jan-
%c locale's date and time (Sat Nov 04 12:02:33 EST
%d day of month (01..31)
%D date (mm/dd/yy)
%h same as %b
%j day of year (001..366)
%m month (01..12)
%U week number of year with Sunday as first day of
%w day of week (0..6) with 0 corresponding to Sunday
%W week number of year with Monday as first day of
%x locale's date representation (mm/dd/yy)
%y last two digits of year (00..99)
%Y year (1970...)
By default, date pads numeric fields with zeroes. GNU
date recognizes the following nonstandard numeric modi-
- (hyphen) do not pad the field
_ (underscore) pad the field with spaces
If given an argument that does not start with `+', date
sets the system clock to the time and date specified by
that argument. The argument must consist entirely of dig-
its, which have the following meaning:
DD day within month
CC first two digits of year (optional)
YY last two digits of year (optional)
ss second (optional)
Only the superuser can set the system clock.
-d datestr, --date datestr
Display the time and date specified in datestr,
which can be in almost any common format. The dis-
play is in the default output format, or if an
argument starting with `+' is given to date, in the
format specified by that argument.
--help Print a usage message on standard output and exit
-s datestr, --set datestr
Set the time and date to datestr, which can be in
almost any common format. It can contain month
names, timezones, `am' and `pm', etc.
Print or set the time and date in Coordinated Uni-
versal Time (also known as Greenwich Mean Time)
instead of in local (wall clock) time.
Print version information on standard output then
To print the date of the day before yesterday
date --date '2 days ago'
To print the date of the day three months and one day
date --date '3 months 1 day'
To print the day of year of Christmas in the current year
date --date '25 Dec' +%j
To print the current date in a format including the full
month name and the day of the month
date '+%B %d'
But this may not be what you want because for the first
nine days of the month, the `%d' expands to a zero-padded
two-digit field, for example `date -d 1-may '+%B %d'' will
print `May 01'.
To print the same date but without the leading zero for
one-digit days of month, you can use the nonstandard `-'
modifier to suppress the padding altogether.
date -d 1-may '+%B %-d'
FSF GNU Shell Utilities 1