OS Manuals

/usr/bin/date

GNU core utilities

From coreutils 9.12-r7 (os), captured 2026-11-05 by running date --help (exit 0). permalink

Also provided by 1 other package version
Usage: /usr/bin/date [OPTION]... [+FORMAT]
  or:  /usr/bin/date [OPTION]... MMDDhhmm[[CC]YY][.ss]
Display date and time in the given FORMAT.
With -s, or with MMDDhhmm[[CC]YY][.ss], set the date and time first.

Mandatory arguments to long options are mandatory for short options too.
  -d, --date=STRING
         display time described by STRING, not 'now'
      --debug
         annotate the parsed date,
         and warn about questionable usage to standard error
  -f, --file=DATEFILE
         like --date; once for each line of DATEFILE;
         if DATEFILE is -, read names from standard input
  -I[FMT], --iso-8601[=FMT]
         output date/time in ISO 8601 format.
         FMT='date' (default), 'hours', 'minutes', 'seconds', or 'ns'
         for date and time to the indicated precision.
         Example: 2006-08-14T02:34:56-06:00
      --resolution
         output the available resolution of timestamps.
         Example: 0.000000001
  -R, --rfc-email
         output date and time in RFC 5322 format.
         Example: Mon, 14 Aug 2006 02:34:56 +0000
      --rfc-3339=FMT
         output date/time in RFC 3339 format.
         FMT='date', 'seconds', or 'ns'
         for date and time to the indicated precision.
         Example: 2006-08-14 02:34:56-06:00
  -r, --reference=FILE
         display the last modification time of FILE
  -s, --set=STRING
         set time described by STRING
  -u, --utc, --universal
         print or set Coordinated Universal Time (UTC)
      --help
         display this help and exit
      --version
         output version information and exit

All options that specify the date to display are mutually exclusive.
I.e.: --date, --file, --reference, --resolution.

FORMAT controls the output.  Interpreted sequences are:

FORMAT  Example    Description

  %%    %           a literal %
  %n    \n          a newline
  %t    \t          a tab

  %C    20          century; like %Y, except omit last two digits
  %y    99          year (last two digits; 00..99)
  %Y    1999        year
  %g    99          year of ISO week number (last 2 digits; 00-99); see %G
  %G    1999        year of ISO week number; normally useful only with %V

  %a    Sun         locale's abbreviated weekday name
  %A    Sunday      locale's full weekday name
  %b    Mar         locale's abbreviated month name
  %h    Mar         same as %b
  %B    March       locale's full month name
  %m    12          month (01..12)
  %d    31          day of month (01..31)
  %e     1          day of month, space padded; same as %_d
  %D    12/31/99    date (ambiguous); same as %m/%d/%y
  %F    1999-12-31  full date; like %+4Y-%m-%d
  %x    12/31/99    locale's date (can be ambiguous)
  %c    ...         locale's date and time (e.g., Thu Mar  3 23:05 2005)

  %H    23          hour (00..23)
  %I    01          hour (01..12)
  %k     8          hour, space padded ( 0..23); same as %_H
  %l     9          hour, space padded ( 1..12); same as %_I
  %M    59          minute (00..59)
  %S    60          second (00..60)
  %N    123456789   nanoseconds (000000000..999999999)
  %s    1970010100  seconds since the Epoch (1970-01-01 00:00 UTC)
  %p    PM          locale's equivalent of AM or PM; blank if not known
  %P    am          like %p, but lower case
  %r    1:11:04 PM  locale's 12-hour clock time
  %R    23:59       24-hour hour and minute; same as %H:%M
  %T    23:59:59    time; same as %H:%M:%S
  %X    23:59:59    locale's time representation

  %j    365         day of year (001..366)
  %q    4           quarter of year (1..4)
  %u    7           day of week (1..7); 1 is Monday
  %w    6           day of week (0..6); 0 is Sunday
  %U    52          week of year; Sunday as first day of week (00..53)
  %V    52          ISO week number; Monday as first day of week (01..53)
  %W    52          week of year; Monday as first day of week (00..53)

  %z     +0400      +hhmm numeric time zone
  %:z    +04:00     +hh:mm numeric time zone
  %::z   +04:00:00  +hh:mm:ss numeric time zone
  %:::z  +04        numeric time zone to necessary precision; with :
  %Z     EDT        alphabetic time zone abbreviation

By default, date pads numeric fields with zeroes.
The following optional flags may follow '%':

  -  (hyphen) do not pad the field
  _  (underscore) pad with spaces
  0  (zero) pad with zeros
  +  pad with zeros, and put '+' before future years with >4 digits
  ^  use upper case if possible
  #  use opposite case if possible

After any flags comes an optional field width, as a decimal number;
then an optional modifier, which is either
E to use the locale's alternate representations if available, or
O to use the locale's alternate numeric symbols if available.

Examples:
Convert seconds since the Epoch (1970-01-01 UTC) to a date
  $ date --date='@2147483647'

Show the time on the west coast of the US (use tzselect(1) to find TZ)
  $ TZ='America/Los_Angeles' date

Show the local time for 9AM next Friday on the west coast of the US
  $ date --date='TZ="America/Los_Angeles" 09:00 next Fri'

Report bugs to: <bug-coreutils@gnu.org>.
GNU coreutils home page: <https://www.gnu.org/software/coreutils/>
General help using GNU software: <https://www.gnu.org/gethelp/>
Full documentation <https://www.gnu.org/software/coreutils/date>
or available locally via: info '(coreutils) date invocation'
Options (12)
OptionDescriptionSource
-d, --date STRINGdisplay time described by STRING, not 'now'help + man
--debugannotate the parsed date, and warn about questionable usage to standard errorhelp + man
-f, --file DATEFILElike --date;help + man
-I, --iso-8601 FMToutput date/time in ISO 8601 format.help
--resolutionoutput the available resolution of timestamps.help + man
-R, --rfc-emailoutput date and time in RFC 5322 format.help + man
--rfc-3339 FMToutput date/time in RFC 3339 format.help + man
-r, --reference FILEdisplay the last modification time of FILEhelp + man
-s, --set STRINGset time described by STRINGhelp + man
-u, --utc, --universalprint or set Coordinated Universal Time (UTC)help + man
--helpdisplay this help and exithelp + man
--versionoutput version information and exithelp + man
Examples (3) from the manual page, untested

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.