How to get a time minus 60 minutes?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to get a time minus 60 minutes?
# 1  
Old 08-24-2016
How to get a time minus 60 minutes?

Hello,

date --date '-60 min ago' +'%Y-%m-%d %H:%M:%S,%3N'

Above command gives the date and time minus 60 minutes

but the problem i am facing is, i do not want to hardcode the value 60
it is stored in a variable var=60

now if i run below command , i get error

date --date '-$var min ago' +'%Y-%m-%d %H:%M:%S,%3N'

date: invalid date `-$var min ago'

Please suggest
# 2  
Old 08-24-2016
Shell variables are not expanded when they appear inside a single-quoted string. Use double quotes instead of single quotes:
Code:
date --date "-$var min ago" +'%Y-%m-%d %H:%M:%S,%3N'

This User Gave Thanks to Don Cragun For This Post:
# 3  
Old 08-24-2016
Quote:
Originally Posted by Ramneekgupta91
Hello,
date --date '-60 min ago' +'%Y-%m-%d %H:%M:%S,%3N'
Above command gives the date and time minus 60 minutes
but the problem i am facing is, i do not want to hardcode the value 60
it is stored in a variable var=60
now if i run below command , i get error
date --date '-$var min ago' +'%Y-%m-%d %H:%M:%S,%3N'
date: invalid date `-$var min ago'
Please suggest
Hello Ramneekgupta91,

I think you should remove - from command -60 min ago so only it will give time and date before 60 mins else it is giving 60 mins after time(you could take it as a maths concept of -ve * -ve = +ve kind of). Because you are already using keyword ago and then you are mentioning value -60 mins ago, so it will print value after 60 mins.
Here is what is the difference between -60 mins ago and 60 mins ago.

Current time:
Code:
date +'%Y-%m-%d %H:%M:%S,%3N'
2016-08-24 04:38:14,141

Using -60 mins ago:
Code:
date --date '-60 min ago' +'%Y-%m-%d %H:%M:%S,%3N'
2016-08-24 05:38:31,415

Using only 60 mins ago:
Code:
date --date '60 min ago' +'%Y-%m-%d %H:%M:%S,%3N'
2016-08-24 03:38:34,060

Now for taking values from a variable following may help you in same.
Code:
var=60   ##You could assign any value as per your need here.
date --date ''"$var"' min ago' +'%Y-%m-%d %H:%M:%S,%3N'

Thanks,
R. Singh
These 4 Users Gave Thanks to RavinderSingh13 For This Post:
# 4  
Old 08-24-2016
Thank you very much
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Check file creation Time minutes and if file older then 5 minutes execute some stuff

Hello all, Info: System RedHat 7.5 I need to create a script that based on the creation time, if the file is older then 5 minutes then execute some stuff, if not exit. I thought to get the creation time and minutes like this. CreationTime=$(stat -c %y /tmp/test.log | awk -F" " '{ print... (3 Replies)
Discussion started by: charli1
3 Replies

2. Shell Programming and Scripting

Time difference in minutes

Hi Folks, I have a text file that has only time in the format HH:MM:SS like seen below. 21:36:17 23:52:08 I need to find the difference in minutes alone from this text file so the result would be 136. Thanks Jay (11 Replies)
Discussion started by: jayadanabalan
11 Replies

3. UNIX for Dummies Questions & Answers

Minus 5 minutes

Hi, I need to subtract 5 minutes from the date. Example $date +"%Y-%m-%d-%H.%M.%S" displays 2014-06-26-06.06.38 I want to show it as 2014-06-26-06.01.38 (5 mins are subtracted from date) Any help would be appreciated. I am currently on AIX version 6.1 -Vrushank (10 Replies)
Discussion started by: vrupatel
10 Replies

4. Shell Programming and Scripting

grep the time within given minutes

Mar 26 15:25:11 : jdoe : TTY=pts/2 ; PWD=/home/jdoe ; USER=root ; COMMAND=/usr/bin/su - Mar 26 15:28:52 : jdoe : 3 incorrect password attempts ; TTY=pts/2 ; PWD=/home/jdoe ; USER=root ; COMMAND=/usr/bin/su - Mar 25 12:23:07 : jdoe : TTY=pts/2 ; PWD=/home/jdoe ; USER=root ; ... (6 Replies)
Discussion started by: Daniel Gate
6 Replies

5. Solaris

How to show time minus 60 minutes?

In Redhat it is easy.... date --date="60 minutes ago" How do you do this in Solaris? I got creative and got the epoch time but had problems.. EPOCHTIME=`truss date 2>&1 | grep "time()" | awk '{print $3 - 900}'` echo $EPOCHTIME TIME=`perl -e 'print scalar(localtime("$EPOCHTIME")),... (5 Replies)
Discussion started by: s ladd
5 Replies

6. Shell Programming and Scripting

subtract minutes from time

i have the time 20100421043335 in format (date +%Y%m%d%H%M%S),and i want to be able to get the previous time 2 minutes ago,which is 20100421043135 (9 Replies)
Discussion started by: tomjones
9 Replies

7. Shell Programming and Scripting

Process Time in hours or minutes only

Hi i want to print the time of a process in hours only..(or) in minutes only.Is there anyway to print the process such like that when i give the commnand like following #ps -eo pid,time PID TIME 412 01:49:32 481 00:03 it shows in HH:MM:SS format: Could anyone... (1 Reply)
Discussion started by: srikanthg
1 Replies

8. Shell Programming and Scripting

how to find the time before 30 minutes

Hi All, I want to find out the time before 30 minutes. I am able to do with in hours limit. date Fri Aug 21 06:50:00 BST 2009 TZ=CST+1 date Fri Aug 21 04:50:02 CST 2009 Can any one please help me (6 Replies)
Discussion started by: vikash_k
6 Replies

9. Shell Programming and Scripting

getting hour minus the current time

Can some one help me getting last hour of the current time with date command in a script. (7 Replies)
Discussion started by: shehzad_m
7 Replies

10. Shell Programming and Scripting

how to display time in minutes n seconds...

Hi all, may i know how to display time in minutes and seconds(may be milliseconds and even smaller that ) in shell scripts.... (1 Reply)
Discussion started by: santy
1 Replies
Login or Register to Ask a Question