Date calculation


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Date calculation
# 1  
Old 09-21-2011
Date calculation

I have to run a shell , only if file_a.txt is updated correctly before 1hr.

that is,
Code:
file_a.txt
2011_09_21__14:10:20  --> any format..

And
Code:
the shell can be like,
if [ (date now) - (date from file_a.txt) > 1hr ] ; then
Run some shell
update file_a.txt with (date now)
fi

how to do this ?
# 2  
Old 09-21-2011
Some clarifying questions:
  • Does file_a.txt contain the timestamp, or do you need to use the filesystem timestamp?
  • If it contains it: should file_a.txt contain only 1, or more timestamps?
  • What OS are you using?
# 3  
Old 09-21-2011
Quote:
Originally Posted by pludi
Some clarifying questions:
  • Does file_a.txt contain the timestamp, or do you need to use the filesystem timestamp?
  • If it contains it: should file_a.txt contain only 1, or more timestamps?
  • What OS are you using?
i am sorry , if you are not clear from my description.

file_a.txt contains only one line , which is updating by us. [ie; time]

It can be in any format , i prefer something like:
201109211410

OS : fedora / CentOS

---------- Post updated at 05:49 PM ---------- Previous update was at 04:33 PM ----------

I got so many scripts to get / change date format..

But not the same what i asked , hitting on my head Smilie
# 4  
Old 09-21-2011
The format you're proposing would work. Just use date to output the date/time appropriately, and then substract from it the current time (same format), so you'd get (for example)
Code:
diff = $((201109211410 - 201109211310 ))
if [[ $diff -ge 100 ]]
then
  echo "1 hour has passed"
else
  echo "Wait a bit longer"
fi

# 5  
Old 09-21-2011
Quote:
Originally Posted by linuxadmin
i am sorry , if you are not clear from my description.

file_a.txt contains only one line , which is updating by us. [ie; time]

It can be in any format , i prefer something like:
201109211410
What do you mean by "any format" because if the format changes then any script no matter how well written wont work so decide on a format and stick to it and use perl...but if you insist on the shell then a format like YYYYMMDHHMMSS is viable for time diffs.
# 6  
Old 09-21-2011
No.. not yet

Quote:
Originally Posted by pludi
The format you're proposing would work. Just use date to output the date/time appropriately, and then substract from it the current time (same format), so you'd get (for example)
Code:
diff = $((201109211410 - 201109211310 ))
if [[ $diff -ge 100 ]]
then
  echo "1 hour has passed"
else
  echo "Wait a bit longer"
fi

pludi ,

But i have a doubt in this,
think about this condition,

befo_=110921232049 --> 21/09/2011 23:20:49
now_=110921233957 --> 21/09/2011 23:39:57

now_ - befo_ = 1908 [Which is > 100 !!! But just 19min only passed]

Again if we think about 1000 [ie; with Hour-Digit or 10000... ] same problem will be there.


.

---------- Post updated at 11:51 PM ---------- Previous update was at 11:47 PM ----------

Anyway,

i changed the entire logic. I am not using these things..

Made this function alone in my shell with another parameter... Smilie Smilie Smilie

Thanks.
# 7  
Old 09-21-2011
Well, then stay consistent. In your original example, you gave the date as YYYYMMDDhhmm, so anything >= 100 would mean 1 hour has passed. Now you're using YYMMDDhhmmss, you if you apply even a tiny bit of logical thinking you'd see that 100 wouldn't fit anymore, but that you have to shift it left by 2 places!!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Date calculation in UNIX

I want to automate change in 'from yyyy/mm/dd to yyyy/mm/dd' every month in a unix program. For example in this month 'from yyyy/mm/dd to yyyy/mm/dd' is 'from 2014/10/01 to 2014/11/01' next month it should be 'from 2014/11/01 to 2014/12/01' Can any one provide me the code for the above... (2 Replies)
Discussion started by: srinivas kasett
2 Replies

2. UNIX for Dummies Questions & Answers

Need help regarding date calculation

Hi All, I need to calculate the date for monday to friday. Say today is 10.oct.2014 then I need to calculate the date as 09.oct.2014. If today is 13.oct.2014 then I need to calculate the date as 10.oct.2014. If its 03.Nov.2014 then date calculated must be 31.oct.2014. Please help in in... (2 Replies)
Discussion started by: abhi_123
2 Replies

3. Shell Programming and Scripting

Date calculation

Hi I have this date 11:30:02-31.11.12 How to calculate date between this date and now? I like it printed like this: 31D 2H 1M if possible. (6 Replies)
Discussion started by: Jotne
6 Replies

4. Shell Programming and Scripting

Date calculation, a little different...

Hello eveyone, I am tasked to write an (n)awk script to calculate the days between dates. Now before anyone chastizes me on how many forums there are on date calculation, I have no seen one that takes into account the Julian calender as well. As most know, September of 1752 is when we (the US)... (2 Replies)
Discussion started by: csharp100
2 Replies

5. Shell Programming and Scripting

Date calculation script

hello! I need a date calculation script that need to do that: ./date.sh 20090312 and the script need to give me which day is it for example monday friday or what else! can anyone help me?? its really urgent :S thx the help! (7 Replies)
Discussion started by: impish
7 Replies

6. Shell Programming and Scripting

Date time calculation

hello guys, I had been to many forums and many topics in this site as well for my question but did not get any solution. My question is how i can get y'day date with time stamp today is 20100729103819 and i am looking for output as 20100728103819. in simple words as we do in oracle sysdate-1... (4 Replies)
Discussion started by: lokaish23
4 Replies

7. Shell Programming and Scripting

Problems with date calculation

Hello all. I'm writing a script that should work with some files being sure that them were created a concrete day (0, 1, 2 or 3 days before script execution). This task should be done under Solaris and Linux hosts with different versions (Solaris 8, 9 and 10, Suse 9 and 10) so I'm trying to make... (3 Replies)
Discussion started by: nefeli
3 Replies

8. UNIX for Advanced & Expert Users

date calculation scripts(hp-ux)

Hi all, i need a script that can check if users did an operation within 3 days,if not delete all the logs of users who did not perform any activity after 3 days.therefore script should be able to use current date and verify last date user performed activity and see if it is greater or less than 3... (3 Replies)
Discussion started by: tomjones
3 Replies

9. Shell Programming and Scripting

Date Calculation

Hi experts, Can you please help me in calculating the future date using unix shell scripting.. for example lets say todays date is 29-sep-2008 i wanna calculate the date after 365 days... hence the date must be 29-sep-2009.. Quick response is appreciable. thanks in... (2 Replies)
Discussion started by: subhendu81
2 Replies

10. Programming

date calculation program

Hi One of my vendor based tool is giving date in no. of days since 1900-01-01. So, I want to display in CCYYMMDD format. For ex:- Vendor based tool is giving as 38790 days since 1900-01-01 corresponding to12/sep/2006 Does anybody has the... (1 Reply)
Discussion started by: axes
1 Replies
Login or Register to Ask a Question