https://rt.cpan.org/Ticket/Display.html?id=82551
Eu 'resolvi' utilizando uma hora que não fosse nem a 0 horas, nem 23horas. o erro ocorre quando tenta crair uma hora durante a troca do horario de verão. (pode acontecer no ->add, e etc..) o certo seria o DateTime saber que o hour foi criado como undef, e não como '0' pois ele considera isso por default. Talvez daria pra fazer um patch, pra olhar se foi passado undef (ou não existir a chave hour) no parameter e todos os lugares que fossem fazer as contas, considerar o undef como 0. Porém, a classe é DateTime, e não apenas Date, se tivesse uma que fosse apenas Date, resolveria isso. (Date::Calc btw) O DateTime também guarda historico das operações, o que pode aumentar o consumo de memoria em apps que rodam por mutio tempo. 2013/1/8 Renato Santos <[email protected]> > Uia, eu 'por acaso' reportei isso ontem > > 2013/1/8 Tiago Peczenyj <[email protected]> > >> Oi Galera >> >> Me foi passado um exercicio bem interessante sobre "corrigir" um >> comportamento da classe DateTime. >> >> O default time zone da classe DateTime é UTC, porém alguem ignorou isso e >> desenvolveu uma boa quantidade de coisas, colocou em produção, etc, só >> descobriu q tinha algo errado quando alguns testes falhavam em alguns >> horarios específicos. No caso algumas coisas estavam em EST (como o banco >> de dados) e para resolver isso "logo", no lugar de alterar o sistema (por >> medinho, tempo, etc) resolveram fazer algo mais grosseiro. >> >> A minha solução ficou assim: >> >> https://github.com/peczenyj/Fix-DateTime >> >> Acho que esta menos pior do que poderia ser, mas ainda fede. Não é >> exatamente um Fix, mas resolve algumas coisas. >> >> Gostaria de saber como evoluir isso. Sera que um simples patch para o >> DateTime colocando uma opção de default time zone não resolveria ou isso >> seria perigoso? Adoraria saber a opinião de vcs. >> >> -- >> Tiago B. Peczenyj >> Linux User #405772 >> >> http://about.me/peczenyj >> >> =begin disclaimer >> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ >> SaoPaulo-pm mailing list: [email protected] >> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> >> =end disclaimer >> >> >> > > > -- > Saravá, > Renato CRON > http://www.renatocron.com/blog/ > @renato_cron <http://twitter.com/#!/renato_cron> > -- Saravá, Renato CRON http://www.renatocron.com/blog/ @renato_cron <http://twitter.com/#!/renato_cron>
=begin disclaimer Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ SaoPaulo-pm mailing list: [email protected] L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer
