DATE(1)                                                   DATE(1)

NAME
       date - print or set the system date and time

SYNOPSIS
       date  [-u] [-d datestr] [-s datestr] [--utc] [--universal]
       [--date=datestr]  [--set=datestr]   [--help]   [--version]
       [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]

DESCRIPTION
       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

       Time fields:

       %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-
              dard extension)

       %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
              is determinable

       Date fields:

       %a     locale's abbreviated weekday name (Sun..Sat)

       %A     locale's  full  weekday name, variable length (Sun-
              day..Saturday)

       %b     locale's abbreviated month name (Jan..Dec)

       %B     locale's full month  name,  variable  length  (Jan-
              uary..December)

       %c     locale's  date  and  time  (Sat Nov 04 12:02:33 EST
              1989)

       %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
              week (00..53)

       %w     day of week (0..6) with 0 corresponding to Sunday

       %W     week  number  of  year  with Monday as first day of
              week (00..53)

       %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-
       fiers:

       -      (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:

       MM     month

       DD     day within month

       hh     hour

       mm     minute

       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.

   OPTIONS
       -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
              successfully.

       -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.

       -u, --universal
              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.

       --version
              Print version information on standard  output  then
              exit successfully.

EXAMPLES
       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
       hence

              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