[SP-pm] Perl e horário de verão

Daniel Vinciguerra dan.vinciguerra at gmail.com
Sat Mar 1 15:24:27 PST 2014


Geraldo,

Relax, sem criticas por minha parte... desenvolvi por muito tempo em Java e
C# e sei bem o que é isso... ;-)

E-mail só a titulo informativo e nada mais!

Grande abraço,




*Daniel Vinciguerra*
Web Solutions Architect and Co-Owner at Bivee
http://github.com/dvinciguerra <http://github.com/dvinciguerra>


2014-03-01 16:35 GMT-03:00 Tiago Peczenyj <tiago.peczenyj at gmail.com>:

> Pra mim ta certo
> Em 01/03/2014 16:33, "Stanislaw Pusep" <creaktive at gmail.com> escreveu:
>
> Esta data é "apenas" o início do horário de verão! Não existe meia-noite
>> do dia 19 de Outubro de 2014 no Brasil, o relógio muda de 23:59:59 direto
>> para 01:00:00. O comportamento do DateTime é polêmico nesse caso pois a
>> documentação sugere que "Date" e "Time" serão tratados como duas partes
>> relativamente independentes. Só que não é assim que funciona: se você
>> omitir a parte do "Time", 00:00:00 será usado por default, o que tem
>> implicações esquisitas. Infelizmente, meia-noite não é a única excessão, em
>> alguns períodos/timezones a hora "pula" de 1am para 2am ou mesmo 2am para
>> 3am. Empiricamente, assume-se que meio-dia é uma hora default segura para
>> inicializar o objeto DateTime. E a documentação, fala disso? Não!
>> Olha, DateTime é espetacular de tão útil, mas precisa conhecer bem para
>> não dar o tiro no próprio pé. Ou, sei lá, para o tiro só pegar de raspão.
>>
>>
>> 2014-03-01 20:04 GMT+01:00 Tiago Peczenyj <tiago.peczenyj at gmail.com>:
>>
>>> vai ver que essa data, a 00:00:00, tem alguma peculiaridade.
>>>
>>> será? Eu estou do lado do DateTime. E vc?
>>>
>>>
>>> 2014-03-01 15:35 GMT-03:00 Stanislaw Pusep <creaktive at gmail.com>:
>>>
>>> ORLY???
>>>>
>>>> $ perl -MDateTime -le 'DateTime->new(year => 2014, month => 10, day =>
>>>> 19, time_zone => "America/Sao_Paulo"); print "OK"'
>>>> Invalid local time for date in time zone: America/Sao_Paulo
>>>>
>>>> Where's your God now?
>>>>
>>>>
>>>> 2014-03-01 18:52 GMT+01:00 Tiago Peczenyj <tiago.peczenyj at gmail.com>:
>>>>
>>>> Use DateTime. É bom
>>>>> Em 01/03/2014 14:04, "Geraldo Netto" <geraldonetto at gmail.com>
>>>>> escreveu:
>>>>>
>>>>> Opa!
>>>>>>
>>>>>> Ehehehhe!!!
>>>>>>
>>>>>> Devo admitir aqui que a maior parte do desenvolvimento que eu faço é
>>>>>> feito em java
>>>>>> Além disso, a última vez que eu tinha feito alguma coisa em perl foi
>>>>>> em 2006 quando o Fernando Correa da RIO-PM trabalhava em SP
>>>>>> e tinha me ajudado a fazer um front-end em perl-tk p/ aumentar e
>>>>>> diminuir o volume do audio no linux
>>>>>>
>>>>>> BTW, foi lá que eu também conheci o Blabos e depois, em alguns
>>>>>> encontros sociais, o Solli :P
>>>>>>
>>>>>>
>>>>>> See Ya!!!
>>>>>>
>>>>>> Geraldo Netto
>>>>>> Sapere Aude => Non dvcor, dvco
>>>>>> São Paulo, Brasil, -3gmt
>>>>>> site: http://exdev.sf.net/
>>>>>>
>>>>>> 2014-03-01 12:18 GMT-03:00 Daniel Vinciguerra <
>>>>>> dan.vinciguerra at gmail.com>:
>>>>>> > herman++
>>>>>> >
>>>>>> > Caiu em desuso após o PBP "definir" como um bom padrão nomes de sub
>>>>>> todo
>>>>>> > maiúsculo ou todo minusculo... mas o perlcritic só pega no nível de
>>>>>> > severidade --brutal
>>>>>> >
>>>>>> > (eu particularmente uso e gosto porque, IMHO, deixa muito mais
>>>>>> fácil a
>>>>>> > leitura)
>>>>>> >
>>>>>> > []'s
>>>>>> >
>>>>>> >
>>>>>> >
>>>>>> > Daniel Vinciguerra
>>>>>> > Web Solutions Architect and Co-Owner at Bivee
>>>>>> > http://github.com/dvinciguerra
>>>>>> >
>>>>>> >
>>>>>> > 2014-02-28 21:28 GMT-03:00 Hernan Lopes <hernanlopes at gmail.com>:
>>>>>> >
>>>>>> >> nossa, um camel case!
>>>>>> >> CamelCase anda tão fora de moda que me deixa surpreso ao ver que
>>>>>> pessoas
>>>>>> >> ainda o preferem ao invés de under_line
>>>>>> >>
>>>>>> >>
>>>>>> >>
>>>>>> >> 2014-02-28 11:59 GMT-03:00 Geraldo Netto <geraldonetto at gmail.com>:
>>>>>> >>
>>>>>> >>> Bom Dia Pessoal!
>>>>>> >>>
>>>>>> >>> Consegui evoluir no código com a api do posix mesmo
>>>>>> >>> crio as datas com POSIX::strftime
>>>>>> >>> e calculo o horário de verão pegando a saida do comando cal no
>>>>>> shell
>>>>>> >>>
>>>>>> >>> yep, eu sei que é feito, mas resolve o meu problema de um jeito
>>>>>> rápido...
>>>>>> >>> por hora, a idéia é só gerar o "okay" da gerencia p/ matar umas 4
>>>>>> >>> versões shell que fazem o mesmo trabalho, mas precisam de alguns
>>>>>> >>> parâmetros diferentes e alguma intervenção humana especificamente
>>>>>> no
>>>>>> >>> período de horário de verão
>>>>>> >>>
>>>>>> >>> a minha dúvida é primária, suponho...
>>>>>> >>> mas eu não entendi o porque usar o shift
>>>>>> >>> se eu posso verificar com o defined() se o @_[<número>] está
>>>>>> definido?
>>>>>> >>>
>>>>>> >>> Aceito sugestões e Mais uma vez, Valeu mesmo pela força! :P
>>>>>> >>>
>>>>>> >>>
>>>>>> >>> BTW, código todo a seguir:
>>>>>> >>>
>>>>>> >>> #!/usr/bin/perl
>>>>>> >>>
>>>>>> >>> use strict;
>>>>>> >>> use warnings;
>>>>>> >>>
>>>>>> >>> use POSIX;
>>>>>> >>>
>>>>>> >>>
>>>>>> >>> # a inicia a data em 1900 entao, se for passado 95 => 1995
>>>>>> >>> sub calcularDeslocamentoAno {
>>>>>> >>>     die "ano invalido" unless defined(@_[0]) && return ($_[0] >
>>>>>> 99 ?
>>>>>> >>> $_[0] - 1900 : $_[0]);
>>>>>> >>> }
>>>>>> >>>
>>>>>> >>> sub criarData {
>>>>>> >>>     die "parametros invalidos" unless (defined(@_[0]) &&
>>>>>> >>> defined(@_[1]) && defined(@_[2]));
>>>>>> >>>     #Usage: POSIX::strftime(fmt,             sec, min, hour, mday,
>>>>>> >>> mon, year, wday = -1, yday = -1, isdst = -1)
>>>>>> >>>     return POSIX::strftime("%Y,%m,%d", 0, 0, 0, @_[0], (@_[1] -1),
>>>>>> >>> &calcularDeslocamentoAno(@_[2]), 0, 0);
>>>>>> >>> }
>>>>>> >>>
>>>>>> >>> sub calcularDiaInicioHorarioVerao {
>>>>>> >>>     my $dia_inicio = `cal 10 2013 | tail -4 | head -1 | cut -d' '
>>>>>> -f7`;
>>>>>> >>> }
>>>>>> >>>
>>>>>> >>> sub calcularDiaFimHorarioVerao {
>>>>>> >>>     my $dia_fim = `cal 2 2014 | tail -4 | head -1 | cut -d' '
>>>>>> -f7`;
>>>>>> >>> }
>>>>>> >>>
>>>>>> >>> sub  trim {
>>>>>> >>>     my $s = shift;
>>>>>> >>>     $s =~ s/^\s+|\s+$//g;
>>>>>> >>>     return $s;
>>>>>> >>> }
>>>>>> >>>
>>>>>> >>> print &criarData(2, 5, 2014);
>>>>>> >>> print &trim($dia_inicio);
>>>>>> >>> print &trim($dia_fim);
>>>>>> >>>
>>>>>> >>> Geraldo Netto
>>>>>> >>> Sapere Aude => Non dvcor, dvco
>>>>>> >>> São Paulo, Brasil, -3gmt
>>>>>> >>> site: http://exdev.sf.net/
>>>>>> >>>
>>>>>> >>> 2014-02-26 23:41 GMT-03:00 Geraldo Netto <geraldonetto at gmail.com
>>>>>> >:
>>>>>> >>> > Opa!
>>>>>> >>> >
>>>>>> >>> > Tudo okay Pessoal?
>>>>>> >>> >
>>>>>> >>> > Eu sou o Geraldo, um ghost reader da SPPM (e algumas outras PMs)
>>>>>> >>> > e eu ando trabalhando vagarosamente num projetinho
>>>>>> >>> > que eu dependo de verificação do horário de verão
>>>>>> >>> >
>>>>>> >>> > A idéia é separar o ano em 3 partes:
>>>>>> >>> >
>>>>>> >>> > fim do horário de verão (terceiro domingo de fevereiro)
>>>>>> >>> > fora do horário de verão
>>>>>> >>> > início do horário de verão (terceiro sábado de fevereiro)
>>>>>> >>> >
>>>>>> >>> > E baseado nisso, lançar um shell que vai receber o timezone,
>>>>>> data de
>>>>>> >>> > início e de fim
>>>>>> >>> > p/ fazer a coleta de dados pelo hp openview (comando ovpmbatch)
>>>>>> >>> >
>>>>>> >>> > Só que...
>>>>>> >>> > -eu tenho um servidor tru64 (sem suporte)
>>>>>> >>> > -rodando perl 5.8 (2002 pelo o que o version diz...)
>>>>>> >>> > -sem sudo/root/possibilidade de instalação de pacotes de
>>>>>> terceiros
>>>>>> >>> > -<inclua-aqui-todas-as-limitações-que-vocês-imaginarem-de-infra>
>>>>>> >>> > -meu "core business" é análise de desempenho de software,
>>>>>> >>> > então o código não pode ser muito "perlish"
>>>>>> >>> > porque alguém pode precisar dar manutenção depois de mim
>>>>>> >>> >
>>>>>> >>> > Embora eu ainda não tenha código real (só comecei a brincar)
>>>>>> >>> > Eu estou pensando em ir com a api do posix, especificamente a
>>>>>> >>> > função/método strftime
>>>>>> >>> >
>>>>>> >>> > Eventualmente vocês teriam alguma sugestão?
>>>>>> >>> >
>>>>>> >>> >
>>>>>> >>> > Grande Abraço!
>>>>>> >>> >
>>>>>> >>> > Geraldo Netto
>>>>>> >>> > Sapere Aude => Non dvcor, dvco
>>>>>> >>> > São Paulo, Brasil, -3gmt
>>>>>> >>> > site: http://exdev.sf.net/
>>>>>> >>> =begin disclaimer
>>>>>> >>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>> >>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>> >>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>> >>> =end disclaimer
>>>>>> >>
>>>>>> >>
>>>>>> >>
>>>>>> >> =begin disclaimer
>>>>>> >>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>> >>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>> >>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>> >> =end disclaimer
>>>>>> >>
>>>>>> >
>>>>>> >
>>>>>> > =begin disclaimer
>>>>>> >    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>> >  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>> >  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>> > =end disclaimer
>>>>>> >
>>>>>> =begin disclaimer
>>>>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>> =end disclaimer
>>>>>>
>>>>>
>>>>> =begin disclaimer
>>>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>> =end disclaimer
>>>>>
>>>>>
>>>>
>>>> =begin disclaimer
>>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>> =end disclaimer
>>>>
>>>>
>>>
>>>
>>> --
>>> 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: SaoPaulo-pm at pm.org
>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end disclaimer
>>>
>>>
>>
>> =begin disclaimer
>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>>
> =begin disclaimer
>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20140301/5a24771a/attachment-0001.html>


More information about the SaoPaulo-pm mailing list