I want to convert two datetime fields to find out if the difference is one hour, in linux I've done this by converting both the datetime values to unix epoch time and subtracting them to find out if the difference is more than 3600s, however this does not work in hp-ux.
I've these variable inside an awk script, and I'm getting the date values inside the script by:
Any ideas?
You'll have the old time time1 and new time2 which you'll get through
First idea was to convert the whole time into seconds similar to epoch time, and subtract the two times, but the seconds conversion would give a very large number making the awk variables overflow and show incorrect values.
Then the other way I came up with was to extract the year,month,day,hour,min and seconds into separate variables using substr(),
year2 - year1 can be 0 or 1 i.e
same year will give diff of 0
if time was dec31 before midnight and next time was jan01 after midnight will give diff of 1
month2 - month1 can be 0, 1 or -11 i.e
same month will give 0
previous month before midnight diff new month after midnight will give 1
if it was dec31st and jan1st the diff will be -11
day2 - day1 can be 0, 1, 30, 29, 27
same day = 0
previous day midnight - new day midnight = 1
if the days fell on two different months it'll be 31st -1 or 30th - 1 or 28th -1 for feb
Finally if the year, month and day differences fall within the above ranges, then we're left with hours, min and sec, which we can easily convert to seconds and check if it is greater than 3600 sec and that is how you check two datetime differences
Performance of the script is very good
Let me know if there is a better way of doing this....
Last edited by Random_Net; 08-18-2010 at 04:09 PM..
Hi All,
I am entering StartDate and EndDate as parameters to script. Want to have an check saying, "If StartDate is greater than EndDate then don't execute the script".
Pseudo Code:
if
then
Execute script
else
exit 0
fi
Can you please help me on the same?
Thanks and... (4 Replies)
Hi to all.
When you have to compare a lot of dates in a SH code, there is a way to directly compare? For example, how can I check if two dates differ in less than a week?
Thank's for reading. (2 Replies)
I want to compare a list of dates in a file with today's date & list only dates that are less than only 60 days old . please help . the date in the file are in format
11-FEB-2009
02-FEB-2009
26-JAN-2009
24-JAN-2009
13-JAN-2009
16-DEC-2008
10-DEC-2008
01-DEC-2008
25-NOV-2008
19-NOV-2008... (3 Replies)
Need to find all records where date in one filed is greater than date in other.
Input:
ABC 2 Filed3 CDG * X 20080903 20081031 180.00
ABD 2 Filed3 CDG * X 20081101 20081031 190.00
ABE 2 Filed3 CDG * X 20090903 20081031 120.00
ABC 2 Filed3 CDG * X 20080903 20081015 130.00
Output:
... (2 Replies)
Hi all,
I've written a script which gives the below information...
End Date&Time: 2008-10-21 10.54.37
Now i want to calculate this time with the current time.. and if its more than 48 hours past with the current time it should echo "48 Hours back"
Please help me..
thanks in... (4 Replies)
hi all :)
how can in compare yyyy/dd/mm with yyyy/dd/mm in perl i want the result like grater than or less than the given date...
thanks in advance (3 Replies)
Hi Gurus
I am getting the timestamp of the last generated log file
its like this "Oct 31 10:26"
I want to compare this timestamp with the current date in shell script. I want to compare if the
(timestamp-currentime) > 10 minutes
how do i do this.
Thanks
Ragha (2 Replies)
Hi
I am writing a unix program. In that, i should compare two dates.
I would like to know how to compare two dates in unix-whether they are same or not.
pls help (5 Replies)
I have a log file with date format like
10-Oct-02 13:20:29 .....
at the beginning of each line in the log file, and I need to grep data from this file to list the lines with date no longer than one days.
I tried to use awk to do this but it looks very complicated to do it.
Is there... (6 Replies)