Compare dates with time


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Compare dates with time
# 1  
Old 01-21-2012
Java Compare dates with time

Hi Team,

I need to compare three dates and extract the greatest among them into a file.

Code:
21 Jan 2012 05:46:59,146 
21 Jan 2012 02:12:30,113 
17 Jan 2012 09:08:10,417

Please help regarding the same.

Thanks in advance..!!!

Moderator's Comments:
Mod Comment Please use [CODE][/CODE] tags where appropriate, thank you

Last edited by vbe; 01-21-2012 at 10:58 AM..
# 2  
Old 01-21-2012
Quote:
Originally Posted by jaituteja
...
I need to compare three dates and extract the greatest among them into a file.

Code:
21 Jan 2012 05:46:59,146 
21 Jan 2012 02:12:30,113 
17 Jan 2012 09:08:10,417

...
Code:
$
$ cat f33
21 Jan 2012 05:46:59,146
21 Jan 2012 02:12:30,113
17 Jan 2012 09:08:10,417
$
$ perl -lne 'BEGIN {use Time::Local qw(timelocal_nocheck);
                    @mth = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)}
             ($x, $d, $mo, $y, $h, $mi, $s) = m/^((\d+) (\w+) (\d+) (\d+):(\d+):(\d+)).*$/;
             @m = grep {$mth[$_] eq $mo} (0..$#mth);
             $y -= 1900;
             $curr = timelocal_nocheck ($s, $mi, $h, $d, $m[0], $y);
             $max = $x if $curr > $prev;
             $prev = $curr;
             END {print "Greatest date value = ", $max}
            ' f33
Greatest date value = 21 Jan 2012 05:46:59
$
$

tyler_durden
# 3  
Old 01-21-2012
Thanx buddy.

But i need the script in sh.
# 4  
Old 01-21-2012
Try this...
Code:
#!/bin/bash

d1="21 Jan 2012 05:46:59,146"
d2="21 Jan 2012 02:12:30,113"
d3="17 Jan 2012 09:08:10,417"
s1=$( date -d "${d1%%,*}" '+%s' )
s2=$( date -d "${d2%%,*}" '+%s' )
s3=$( date -d "${d3%%,*}" '+%s' )

echo -e "$s1\n$s2\n$s3" | sort -n | tail -1 | xargs -I {} date -d @{} '+%d %b %Y %T'

--ahamed
# 5  
Old 01-21-2012
Thanx ahmed.

But there can be any number of dates in the file.

In the above case it's three,but it can also be more than three in any case.

What to do in that case???
# 6  
Old 01-21-2012
Code:
#!/bin/bash

val=0
while read line
do
        cur=$( date -d "${line%%,*}" '+%s' )
        test "$cur" -gt "$val" && val=$cur
done < infile

date -d @$val '+%d %b %Y %T'

--ahamed
This User Gave Thanks to ahamed101 For This Post:
# 7  
Old 01-21-2012
Thanx a ton ahamed..!!!

It's working..

Request you to please explain this..!!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. HP-UX

Compare dates

Hi, 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... (3 Replies)
Discussion started by: Random_Net
3 Replies

2. Shell Programming and Scripting

The Best Way to Compare Dates

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)
Discussion started by: daniel.gbaena
2 Replies

3. Shell Programming and Scripting

compare dates

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)
Discussion started by: skamal4u
3 Replies

4. Shell Programming and Scripting

Compare dates

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)
Discussion started by: necroman08
2 Replies

5. Shell Programming and Scripting

compare between the two dates

Hi all, How to check whether the given the two dates is minimal. example: Date 1 : 23-03-2008 with timestamp Date 2: 20-03-2008 With tmestamp I want to compare the twodates and which it gives the minimum date i wnat to get the output like this below output: the Date2 is... (1 Reply)
Discussion started by: balaji23_d
1 Replies

6. Shell Programming and Scripting

How to compare the dates..

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)
Discussion started by: suri.tyson
4 Replies

7. Shell Programming and Scripting

compare dates...

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)
Discussion started by: i_priyank
3 Replies

8. Shell Programming and Scripting

compare dates

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)
Discussion started by: ragha81
2 Replies

9. Programming

How to compare dates in C/C++

Hi, Is there any system defined function to compare two dates in C/C++? Thanks (1 Reply)
Discussion started by: naan
1 Replies

10. Shell Programming and Scripting

compare two dates

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)
Discussion started by: wchen
6 Replies
Login or Register to Ask a Question