date [man page] - print or set the system date and time


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

Frequently used options

-u, --utc, --universal
print or set Coordinated Universal Time
+%F full date; same as %Y-%m-%d


date command is used to set and display time. By typing date command without any options and arguments the date command will display a current time:$ date
Wed May 12 12:30:55 EST 2010

date command can also be used to set time. However, this requires superuser permissions. To set time to 20th March 2010 23:45:28 a following date command can be used: ~# date 032023452010.28
Sat Mar 20 23:45:28 EST 2010

Linux date command can be very flexible as it offers more ways on how to set a time on your Linux systems: the next example we set date and time to "05 JUL 2021 01:55:56". ~# date -s "05 JUL 2021 01:55:56"
Mon Jul  5 01:55:56 EST 2021

In case that we want to set just time but date a following syntax to date command can be applied: ~# date +%T -s "18:30:01"
18:30:01 ~# date
Mon Jul  5 18:30:05 EST 2021

Date command is often used with connection to bash scripting. In the next example we create a simple bash script to create a backup of a user's home directory and we will name the output backup file accordingly to a current date:$ cat
OF=myhome_directory_$(date +%Y%m%d).tar.gz
tar -czf $OF /home/linuxconfig$ chmod +x$ date
Wed May 12 12:47:39 EST 2010$ ./
tar: Removing leading `/' from member names$ ls  myhome_directory_20100512.tar.gz$

Linux date command is also capable to do some simple arithmetics as shown in the following example:$ echo "Today is `date +%A` `date +%e`th of `date +%B` \ 
`date +%G` which is `date +%j`th day since 1th of January `date +%G`" Today is Wednesday 12th of May 2010 which is 132th day since 1th of January 2010
Submit your RESUME, create a JOB ALERT or subscribe to RSS feed.
Subscribe to NEWSLETTER and receive latest news, jobs, career advice and tutorials.
Get extra help by visiting our LINUX FORUM or simply use comments below.