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 № 1eu 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