Display time is a commonly used command. It is often used to display date-related file names or times in shell scripts. The date command is used in both Linux and Windows.
Date command usage in Linux
- Date [Option]… [+ Format]
- Date [-u | -- UTC | -- Universal] [mmddhhmm [[CC] YY] [. SS]
Date Command Parameters
- -D,-date = string: display the time specified by string
- -F,-file = datefile, similar to the-date parameter, shows the time of each row in the datefile file.
- -Itimespec,-iso-8601 [= timespec] displays date/time in ISO 8601 format. Timespec is one of the following values: "date" (only display date), "hours", "Minutes", and "senconds" (display time precision). The default value is "date ".
- -R,-reference = file: displays the last modification time of the file.
- -R,-the rfc-2822 displays time in RFC-2822 compatible Date Format
- -S,-set = string is set to string
- -U,-UTC,-Universal Display or set to Coordinated Universal Time Format
Date command output display format
- % Characters %
- % A abbreviation of a week (Sun .. SAT)
- % A full name of the Week (Sunday .. Saturday)
- % B (Jan .. dec)
- % B full name of the month (January... December)
- % C date and time (Sat Nov 04 12:02:33 est 1989)
- % C Century (excluding the sum after 100) [00-99]
- % D the day of the month (01 .. 31)
- % D Date (mm/DD/yy)
- % E the day of a month (1 .. 31)
- % F date, same as % Y-% m-% d
- % G year (yy)
- % G year (YYYY)
- % H is the same as % B
- % H hour (00 .. 23)
- % I hour (01 .. 12)
- % J the day of the year (001 .. 366)
- % K hour (0 .. 23)
- % L hour (1 .. 12)
- % M month (01 .. 12)
- % M minutes (00 .. 59)
- % N line feed
- % N nanoseconds (000000000 .. 999999999)
- % P am or PM
- % P am or PM
- % R 12-hour time (HH: mm: ss [AP] m)
- % R 24-hour system time (HH: mm)
- % S seconds starting from 00:00:00 UTC
- % S seconds (00 .. 60)
- % T Tab
- % T in 24-hour format (HH: mm: SS)
- % U day of the week (1 .. 7); 1 indicates Monday
- % U the week of the year, and Sunday is the first day of the week (00 .. 53)
- % V the week of the year. Monday is the first day of the week (01 .. 53)
- % W the day of the week (0 .. 6); 0 indicates Sunday
- % W the week of the year, and Monday is the first day of the week (00 .. 53)
- % X date (mm/DD/yy)
- % X time (% H: % m: % s)
- % Y year (00 .. 99)
- % Y year (1970 ...)
- % Z RFC-2822 style numeric format Time Zone (-0500)
- % Z Time Zone (e.g., EDT). If the time zone cannot be determined, it is null.
The following are some experiments for ease of understanding:
01020304050607080910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
$ date -d "2010-11-15 23:00:01" Mon Nov 15 23:00:01 PST 2010 $ date -d "2010/11/15 23:0:2" Mon Nov 15 23:00:02 PST 2010 $ date -d "2010/11/15T23:0:2" Mon Nov 15 08:00:02 PST 2010 $ $ echo "2010-11-15 23:00:01" > date.txt $ echo "2010/11/15 23:00:02" >> date.txt $ cat date.txt 2010-11-15 23:00:01 2010/11/15 23:00:02 $ date -f date.txt Mon Nov 15 23:00:01 PST 2010 Mon Nov 15 23:00:02 PST 2010 $ $ ls -l total 4 -rw-r--r-- 1 znan sybase 40 Nov 15 21:14 date.txt $ date -r date.txt Mon Nov 15 21:14:36 PST 2010 $ $ date -I 2010-11-15 $ date -Ihours 2010-11-15T21-0800 $ date -Iminutes 2010-11-15T21:16-0800 $ date -Iseconds 2010-11-15T21:16:24-0800 $ $ date -R Mon, 15 Nov 2010 21:47:08 -0800 $ date -u Tue Nov 16 05:47:13 UTC 2010 $ $ date +"Today is %A." Today is Monday. $ date +"Date:%b. %e, %G" Date:Nov. 15, 2010 $ date +"Date: %b.%e, %G" Date: Nov.15, 2010 $ date +"%x %X" 11/15/2010 09:50:21 PM $ date +"%Y-%m-%d %H:%M:%S" 2010-11-15 21:51:32 $ date +"%Y-%m-%d %I:%M:%S %p" 2010-11-15 09:51:55 PM $ |