[SP-pm] parse data em pt_BR
Luis Motta Campos
luismottacampos at yahoo.co.uk
Tue Dec 15 02:48:18 PST 2009
jimmy wrote:
> (falta de didática é um dos meus males...)
Sem problema.
> gostaria de poder passar as strings de formatação correspondentes as
> datas nessas strings e obter um timestamp, ou poder já reformatar a
> data diretamente para um outro padrão.
>
> exemplos:
>
> $dt1 = q(14/12/2009 12:00:02); $dt2 = q(Seg Dez 14 12:00:02 2009);
>
> print str_to_date(q(%d/%m/%y %H:%M:%s), $dt1); # imprimiria:
> "2009-12-14 12:00:02" ou um timestamp
>
> print str_to_date(q(%A %m %H:%M:%s %Y), $dt2); # idem
>
> apenas uma observação: hoje estou fazendo isso com regexp e antes de
> tentar construir um parser desses, gostaria de saber se já existe
> isso pronto.
Expressões regulares são péssimas para isso. Tente Time::ParseDate, no CPAN.
E este módulo tem umas heurísticas bacanas, também. Você pode por
exemplo dizer coisas como "today", "yesterday", "3 days ago", "2 weeks
and 3 days ago", "2 hours ago", "2 months, 1 week, 2 days, 3 hours, 45
minutes ago" e outras coias parecidas.
Se isso interessa, a gente pode tentar trabalhar juntos num módulo com
heurísticas parecidas para o PT-br.
Putamplexos.
--
Luis Motta Campos is a software engineer,
Perl Programmer, foodie and photographer.
More information about the SaoPaulo-pm
mailing list