Solved

How to comput the date

Posted on 2001-08-01
4
156 Views
Last Modified: 2013-12-25
I have a date string like this

dd/mm/yyyy

and i need to be able to do computations on it, such as is this date newer than this one

both dates are strings in the above format

how do i do this in perl
0
Comment
Question by:kplonk
  • 2
4 Comments
 
LVL 8

Accepted Solution

by:
bebonham earned 50 total points
ID: 6342987
#a non module idea for such specific strings
#note pretty, but pretty fast

###just to show it works
chomp($date=<STDIN>);  #for dates greater than 1999
chomp($futureDate=<STDIN>);
chomp($pastDate=<STDIN>);
print cmpDate($date,$futureDate);
print "\n" . cmpDate($date, $pastDate);
print "\n" . cmpDate($futureDate, $date);
####


###this is the real function

sub cmpDate  #returns 1 for 2nd arg is greater, == 0, < -1
{
my($a,$b)=@_;
my($daya,$montha,$yeara)=split('/', $a);
my($dayb,$monthb,$yearb)=split('/', $b);
if($yeara>$yearb){ return -1};
if($yeara<$yearb){ return 1};
if($montha>$monthb){ return -1};
if($montha<$monthb){ return 1};
if($daya>$dayb){ return -1};
if($daya<$dayb){ return 1};
return 0;  #careful, returns 0 on error as well.
}
######
0
 
LVL 8

Expert Comment

by:bebonham
ID: 6342994
actually, no, since perl is so flexable, it will return the greatest

1/2/3

3 ranked highest
then 1
then 2

0
 
LVL 84

Expert Comment

by:ozo
ID: 6343321
return $yeara <=> $yearb or $montha <=> $monthb or $daya <=> $dayb;

#or

return (join'',reverse split'/',$a) cmp (join'',reverse split'/',$b);
0
 

Author Comment

by:kplonk
ID: 6346603
Just th job
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

It is becoming increasingly popular to have a front-page slider on a web site. Nearly every TV website,  magazine or online news has one on their site, and even some e-commerce sites have one. Today you can use sliders with Joomla, WordPress or …
In this tutorial I will show you how to provide a dynamic RTF document on your website generated with data from your database. For this tutorial you will need Microsoft Word or WordPad, WhizBase and Microsoft Access. In this tutorial I will show …
Learn the basics of while and for loops in Python.  while loops are used for testing while, or until, a condition is met: The structure of a while loop is as follows:     while <condition>:         do something         repeate: The break statement m…
The viewer will learn how to count occurrences of each item in an array.

831 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question