Drieux wrote:
> 
> On Tuesday, May 28, 2002, at 09:25 , Sven Bentlage wrote:
> 
> > I'm trying to get all the date values for the week (7days) ahead of a
> > specified date.
> > To get the current date I use :
> >     my ($d, $m, $y) = (localtime)[3,4,5];
> >     my $date = sprintf("%02d-%02d-%02d", $d, $m+1, $y-100);
                                                       ^^^^^^

> > To get the date of the date 7 days ahead I use:
> >     my ($da, $ma, $ya) = (localtime (time+ (7*24*60*60)))[3,4,5];
> >     my $next_date = sprintf("%02d-%02d-%02d", $da, $ma+1, $ya-100);
                                                              ^^^^^^^
You shouldn't subtract 100 from the year returned from localtime, it
won't work with all dates, use modulus instead.  $year % 100


> your friend the loop would help here.
> 
>         use constant SECONDS_PER_DAY    (24*60*60);
> 
>         my $day_ahead = 1;
>         my $max_day_ahead = 7;
> 
>         for (; $day_ahead <= $max_day_ahead ; $day_ahead++ )
>         {
>                 my $tmp_t =( $day_ahead * SECONDS_PER_DAY);
>                 my ($da, $ma, $ya) = (localtime(time + $tmp_t))[3,4,5];
>                 my $next_date = sprintf("%02d-%02d-%02d", $da, $ma+1, $ya-100);
>                 ....
>         }


use POSIX 'strftime';

print strftime '%d-%m-%y%n', localtime time + $_ * 86_400 for 0 .. 6;



John
-- 
use Perl;
program
fulfillment

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to