Date Command Tricks : UNIX

??????????????????

            Date command is helpful to display date in several formats. It also allows you to set systems date and time.           This post helps you to know about the Date Command and its various functions with different formatting. This also helps you know little more information and tricks with Date command.

When you execute date command without any option, it will display the current date and time as shown below.

$ date

Mon Feb 20 22:02:24 PDT 2013

 

1. Display Date from a String Value using –date Option

If you have a static date or time value in a string, you can use -d or –date option to convert the input string into date format as shown below.

Please note that this doesn’t use the current date and time value. Instead is uses the date and time value that you pass as string.

The following examples takes an input date only string, and displays the output in date format. If you don’t specify time, it uses 00:00:00 for time.

$ date –date=”12/2/2013″

Tue Dec  2 00:00:00 PST 2013

 

$ date –date=”2 Feb 2013″

Sun Feb  2 00:00:00 PST 2013

 

$ date –date=”Mar 2 2013″

Sun Mar  2 00:00:00 PST 2013

The following example takes an input date and time string, and displays the output in date format.

$ date –date=”Dec 2 2014 13:12:10″

Sun Dec  2 13:12:10 PST 2014

 

 

2. Read Date Patterns from a file using –file option

This is similar to the -d or –date option that we discussed above. But, you can do it for multiple date strings. If you have a file that contains various static date strings, you can use -f or –file option as shown below.

In this example, we can see that datefile contained 2 date strings. Each line of datefile is parsed by date command and date is outputted for each line.

$ cat datefile

Oct 9 1986

Aug 23 1987

 

$ date –file=datefile

Tue Oct  9 00:00:00 IST 1986

Sun Aug 23 00:00:00 IST 1987

 

 

3. Get Relative Date Using –date option

You can also use date command to get a future date using relative values.

For example, the following examples gets date of next Monday.

$ date –date=”next mon”

Mon May 27 00:00:00 PDT 2013

 

If string=@is given to date command, then date command convert seconds since the epoch (1970-01-01 UTC) to a date.

It displays date in which 5 seconds are elapsed since epoch 1970-01-01 UTC:

$ date –date=@5

Wed Dec 31 16:00:05 PST 1969

 

It displays date in which 10 seconds are elapsed since epoch 1970-01-01 UTC:

$ date –date=@10

Wed Dec 31 16:00:10 PST 1969

 

It displays date in which 1 minute (i.e. 60 seconds) is elapsed since epoch 1970-01-01 UTC:

$ date –date=@60

Wed Dec 31 16:01:00 PST 1969

 

 

4. Display Past Date

You can display a past date using the -date command. Few possibilities are shown below.

$ date –date=’3 seconds ago’

Mon May 20 21:59:20 PDT 2013

$ date –date=”1 day ago”

Sun May 19 21:59:36 PDT 2013

 

$ date –date=”yesterday”

Sun May 19 22:00:26 PDT 2013

 

$ date –date=”1 month ago”

Sat Apr 20 21:59:58 PDT 2013

 

$ date –date=”1 year ago”

Sun May 20 22:00:09 PDT 2012

 

 

5. Set Date and Time using –set option

You can set date and time of your system using -s or –set option as shown below..

In this example, initially it displayed the time as 20:09:31. We then used date command to change it to 21:00:00.

$ date

Sun May 20 20:09:31 PDT 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

 

 

6. Display Universal Time using -u option

You can display date in UTC format using -u, or –utc, or –universal option as shown below.

$ date

Mon May 20 22:07:53 PDT 2013

 

$ date -u

Tue May 21 05:07:55 UTC 2013

 

7. Display Last Modification Time using -r option

In this example, the current time is 20:25:48

$ date

Sun May 20 20:25:48 PDT 2013

The timestamp of datefile is changed using touch command. This was done few seconds after the above date command’s output.

$ touch datefile

The current time after the above touch command is 20:26:12

$ date

Sun May 20 20:26:12 PDT 2013

Finally, use the date command -r option to display the last modified timestamp of a file as shown below. In this example, it displays last modified time of datefile as 20:25:57. It is somewhere between 20:25:48 and 20:26:12 (which is when we execute the above touch command to modify the timestamp).

$ date -r datefile

Sun May 20 20:25:57 PDT 2013

 

 

8. Various Date Command Formats

You can use formatting option to display date command in various formats using the following syntax:

$ date +%<format-option>

The following table displays various date command formatting options.

Format

Functionality

Sample Output

date +%a Displays Weekday name in short (like Mon, Tue, Wed) Thu
date +%A Displays Weekday name in full short (like Monday, Tuesday) Thursday
date +%b Displays Month name in short (like Jan, Feb, Mar ) Feb
date +%B Displays Month name in full short (like January, February) February
date +%d Displays Day of month (e.g., 01) 07
date +%D Displays Current Date; shown in MM/DD/YY 02/07/13
date +%F Displays Date; shown in YYYY-MM-DD 2013-02-07
date +%H Displays hour in (00..23) format 23
date +%I Displays hour (01..12) format 11
date +%j Displays day of year (001..366) 038
date +%m Displays month (01..12) 02
date +%M Displays minute (00..59) 44
date +%S Displays second (00..60) 17
date +%N Displays nanoseconds (000000000..999999999) 573587606
date +%T Displays time; shown as HH:MM:SS
Note: Hours in 24 Format
23:44:17
date +%u Displays day of week (1..7); 1 is Monday 4
date +%U Displays week number of year, with Sunday as first day of week (00..53) 05
date +%Y Displays full year i.e. YYYY 2013

Source: Linux Forums

              If you find this site useful, please support us. Like our FaceBook Page. You can also contact us by mail : portaltechinfo@gmail.com

Tagged: , , , , , , , , , , ,

2 thoughts on “Date Command Tricks : UNIX

  1. date command October 15, 2013 at 1:39 PM Reply

    Awesome examples on date command. explained clearly and in detail.

    • Authors December 24, 2013 at 12:06 PM Reply

      Thanks for reading our post :).

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s

%d bloggers like this: