date Command in Linux with Examples

This tutorial explains Linux “date” command, options and its usage with examples.

date – print or set the system date and time.

DESCRIPTION

Display the current time in the given FORMAT, or set the system date.

SYNOPSIS

date [OPTION]… [+FORMAT] date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]

OPTIONS

-d, –date=STRING
display time described by STRING, not `now’
-f, –file=DATEFILE
like –date once for each line of DATEFILE
-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

advertisement
advertisement

FORMAT

FORMAT controls the output. The only valid option for the second form specifies Coordinated Universal Time. Interpreted sequences are:
%%
a literal %
%a
locale’s abbreviated weekday name (Sun..Sat)
%A
locale’s full weekday name, variable length (Sunday..Saturday)
%b
locale’s abbreviated month name (Jan..Dec)
%B
locale’s full month name, variable length (January..December)
%c
locale’s date and time (Sat Nov 04 12:02:33 EST 1989)
%C
century (year divided by 100 and truncated to an integer) [00-99] %d
day of month (01..31)
%D
date (mm/dd/yy)
%e
day of month, blank padded ( 1..31)
%F
same as %Y-%m-%d
%g
the 2-digit year corresponding to the %V week number
%G
the 4-digit year corresponding to the %V week number
%h
same as %b
%H
hour (00..23)
%I
hour (01..12)
%j
day of year (001..366)
%k
hour ( 0..23)
%l
hour ( 1..12)
%m
month (01..12)
%M
minute (00..59)
%n
a newline
%N
nanoseconds (000000000..999999999)
%p
locale’s upper case AM or PM indicator (blank in many locales)
%P
locale’s lower case am or pm indicator (blank in many locales)
%r
time, 12-hour (hh:mm:ss [AP]M)
%R
time, 24-hour (hh:mm)
%s
seconds since `00:00:00 1970-01-01 UTC’ (a GNU extension)
%S
second (00..60); the 60 is necessary to accommodate a leap second
%t
a horizontal tab
%T
time, 24-hour (hh:mm:ss)
%u
day of week (1..7); 1 represents Monday
%U
week number of year with Sunday as first day of week (00..53)
%V
week number of year with Monday as first day of week (01..53)
%w
day of week (0..6); 0 represents Sunday
%W
week number of year with Monday as first day of week (00..53)
%x
locale’s date representation (mm/dd/yy)
%X
locale’s time representation (%H:%M:%S)
%y
last two digits of year (00..99)
%Y
year (1970…)
%z
RFC-822 style numeric timezone (-0500) (a nonstandard extension)
%Z
time zone (e.g., EDT), or nothing if no time zone is determinable
By default, date pads numeric fields with zeroes. GNU date recognizes the following modifiers between `%’ and a numeric directive.

`-‘ (hyphen) do not pad the field `_’ (underscore) pad the field with spaces

EXAMPLES

Note: Join free Sanfoundry classes at Telegram or Youtube

1. Simple Example

$ date
Thu Dec 26 22:48:07 PST 2013

2. Display Date from a String Value

$ date --date="2 Feb 2014"
Sun Feb  2 00:00:00 PST 2014
$ date --date="Feb 2 2014 13:12:10"
Sun Feb  2 13:12:10 PST 2014

3. Read Date Patterns from a file

advertisement
$ cat datefile
Sept 9 1986
Aug 23 1987
 
$ date --file=datefile
Tue Sep  9 00:00:00 PDT 1986
Sun Aug 23 00:00:00 PDT 1987

4. Display date in mm-dd-yy format

$ date +"%m-%d-%y"
12-26-13

5. Display time only

$ date +"%T"
22:52:09

6. Get Relative Date

advertisement
$ date --date="next mon"
Mon Dec 30 00:00:00 PST 2013

7. Display Past Date

$ date --date='3 seconds ago'
Thu Dec 26 22:54:07 PST 2013
 
$ date --date="1 day ago"
Wed Dec 25 22:54:33 PST 2013
 
$ date --date="1 month ago"
Tue Nov 26 22:55:17 PST 2013
 
$ date --date="1 year ago"
Wed Dec 26 22:55:32 PST 2012

7. Set Date and Time

$ date
Thu Dec 26 22:48:07 PST 2013
 
$ date -s "Sun May 20 21:00:00 PDT 2013"
Sun May 20 21:00:00 PDT 2013
 
$ date
Sun May 20 21:00:05 PDT 2013

Note : date can also be set in formats like

date +%Y%m%d -s "20081128"

8. Display Universal Time

$ date
Thu Dec 26 22:56:54 PST 2013
$ date -u
Fri Dec 27 06:56:57 UTC 2013

Sanfoundry Global Education & Learning Series – 1000 Linux Tutorials.

If you wish to look at all Linux commands and their usage examples, go to Linux Commands Tutorial.

advertisement
advertisement
Subscribe to our Newsletters (Subject-wise). Participate in the Sanfoundry Certification contest to get free Certificate of Merit. Join our social networks below and stay updated with latest contests, videos, internships and jobs!

Youtube | Telegram | LinkedIn | Instagram | Facebook | Twitter | Pinterest
Manish Bhojasia - Founder & CTO at Sanfoundry
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He lives in Bangalore, and focuses on development of Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms. Stay connected with him at LinkedIn.

Subscribe to his free Masterclasses at Youtube & discussions at Telegram SanfoundryClasses.