[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