in reply to Comparing Dates With a Twist
Let's attack this slightly differently:
# get date 90 days ago my ($start_d, $start_m, $start_y) = (localtime(time - 90 * 86_400))[3,4,5]; my $start = sprintf('%4d-%02d-%02d', $start_y+1900, $start_m+1, $start_d); foreach (<FILE>) { my ($y, $m, $d) = (split /,/)[28,29,30]; my $date = sprintf('%4d-%02d-%02d', $y+1900, $m+1, $d); if ($start gt $date) { # record is more than 90 days old } else { # record is within 90 days } }
Update: buckaduck has caught me writing code before drinking coffee. And didn't even point out the worst problems with the code. The new version is (hopefully) better.
Update2: ergh! I give up. This time I was using numeric comparisons instead of string comparisons.
--"The first rule of Perl club is you don't talk about Perl club."
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Comparing Dates With a Twist
by buckaduck (Chaplain) on Nov 01, 2001 at 18:01 UTC |