/ / Como posso validar datas em Perl? - perl, datetime

Como posso validar datas em Perl? - perl, datetime

Como posso validar strings de data em Perl? Gostaria de contabilizar anos bissextos e também fusos horários. Alguém pode inserir datas nos seguintes formatos:

17/11/2008 17/11/2008 15h 17/11/2008 12:01 17/11/2008 12:01 EST 17/11/2008 12:01 CST

Respostas:

10 para resposta № 1

eu uso DateTime :: Format :: DateManip para coisas assim. Usando suas datas ....

use DateTime::Format::DateManip;

my @dates = (
"11/17/2008",
"11/17/2008 3pm",
"11/17/2008 12:01am",
"11/17/2008 12:01am EST",
"11/17/2008 12:01am CST",
);

for my $date ( @dates ) {
my $dt = DateTime::Format::DateManip->parse_datetime( $date );
die "Cannot parse date $date"  unless defined $dt;
say $dt;
}

# no dies.. produced the following....
# => 2008-11-17T00:00:00
# => 2008-11-17T15:00:00
# => 2008-11-17T00:01:00
# => 2008-11-17T05:01:00
# => 2008-11-17T06:01:00

NB Eu estou no GMT aqui!


9 para resposta № 2

CPAN tem muitos pacotes para lidar com datas, como Data hora e Data :: Manip. Para analisar sua data, o módulo Date :: Parse em TimeDate pode funcionar (sim, existem DateTime e TimeDate).

Em geral, sempre que você precisar fazer algo em Perl, verifique o CPAN. Há provavelmente um módulo para isso. Olhe para o que está disponível e veja o que se adapta à sua situação.

Boa sorte, :)


0 para resposta № 3

Vou postar minhas respostas aqui quando me deparo com elas.

use Time :: Local
http://www.perlmonks.org/?node_id=642627