[Cascavel-pm] Probleminha com datas...
Luis Motta Campos
luismottacampos em yahoo.co.uk
Quarta Maio 30 05:44:54 PDT 2007
Gente, eu estou procurando idéias para resolver um problema
complicado.
Meus dados de entrada são uma data válida, que eu vou chamar
$basedate, e um intervalo de tempo positivo, inteiro, não nulo, que
eu vou chamar $interval.
O que eu preciso fazer é obter todos os dias entre $basedate e
$basedate+$interval. Alguém tem alguma sugestão melhor do que um loop
para calcular um dia de cada vez?
O loop:
#!/home/Users/lcampos/run/bin/perl
use strict;
use warnings;
use DateTime;
my $basedate = DateTime->now( time_zone=>'Europe/Amsterdam' )-
>truncate( to => 'day' );
my $interval = 3;
sub list_days {
my ( $start_date, $interval ) = @_;
my $end_date = $start_date + DateTime::Duration->new( days =>
$interval );
my $pointer = $start_date->clone;
my @days;
while( $pointer < $end_date ) {
push @days, $pointer->clone;
$pointer->add( days => 1 );
}
return \@days;
}
my @days = list_days( $basedate, $interval );
__END__
Alguém tem uma idéia melhor?
Putamplexos!
--
Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
Perl fanatic evangelist, and amateur {cook, photographer}
Mais detalhes sobre a lista de discussão Cascavel-pm