<br><br><div class="gmail_quote">2009/11/3 Thomas Britis <span dir="ltr">&lt;<a href="mailto:thomas@tcnet.com.br">thomas@tcnet.com.br</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Oi Solli,<br>
<br>
        Obrigado pela resposta.<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Não ficou claro para mim uma coisa :<br>
* você quer iniciar um programa em algum momento;<br>
* ou você tem uma rotina que será executada durante o dia todo, mas tem alguma parte que será executada apenas num dado momento.<br>
</blockquote>
<br></div>
        Sim, minha necessidade é a segunda opção. A rotina é executada diversas vezes por dia, porém, só deverá executar uma opção especifica por um prazo de tempo. O grande problema é que esse prazo de tempo é variável, inserida pelo usuário.<div class="im">

<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
Se o teu problema for a segunda opção, eu recomendo tempo em epoch, como assim ? desta maneira :<br>
<br>
&lt;code[1]&gt;<br>
$hora_permitido_inicio = HTTP::Date::str2time(&#39;2009-11-03 03:00:00 -03:00&#39;);<br>
$hora_permitido_final  = HTTP::Date::str2time(&#39;2009-11-03 05:00:00 -03:00&#39;);<br>
</blockquote>
<br></div>
        Interessante. Meu único problema vai ser verificar se o prazo final é hoje ou amanhã. Mas, isso é simples.<br>
<br>
        Eu quebrei a cabeça pensando numa forma de fazer a conferência sem ter que levar o dia em consideração (por conta dos períodos que começam hoje, porém só terminam amanhã), mas acho que isso deve ser levado em conta.<br>

</blockquote><div><br>Thomas, na verdade para a computador isto não interessa. O que eu estou fazendo no código é só gerando epoch time, e comparando isto depois. Mas você pode simplesmente fazer assim : <br><br>&lt;code&gt;<br>


$hora_permitido_inicio = HTTP::Date::str2time(&#39;2009-11-03 03:00:00 -03:00&#39;);<br>$hora_permitido_final  = $hora_permitido_inicio + (8 * 3_600);<br>

&lt;code&gt;<br><br>... isto significa que estou adicionando 8 horas no meu horário inicial, ou seja, estou trabalhando com valores relativos. Então se vc já sabe o horário inicial por outro meio, é só fazer o que eu fiz na segunda linha.<br>

<br>Outra estratégia seria utilizar alguma operação de bitwise (ou de mod, ou de divisão) para você encontrar um determinado padrão que você deseja (<a href="http://mail.pm.org/pipermail/saopaulo-pm/2009/006846.html">http://mail.pm.org/pipermail/saopaulo-pm/2009/006846.html</a>). Como o epoch[1] hoje é representado por inteiro de 32 bits, acredito que seja possível descobrir através de um bitwise se é 23:00 ou 11:00, independente da data, além é claro de optar por um módulo que faça isto, tipo do Date::Calc.<br>

<br>Não sei dizer a melhor alternativa sem conhecer todo o problema.<br><br>Abraços,<br><br>Solli M. Honório<br>[1] o epoch tem o bug do 2038, se tiver curiosidade: <a href="http://en.wikipedia.org/wiki/Year_2038_problem">http://en.wikipedia.org/wiki/Year_2038_problem</a><br>

<br><br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
        Muito obrigado a você e todos que responderam.<br>
<br>
        Abraços.<div><div></div><div class="h5"><br>
-- <br>
Thomas Storino Britis<br>
TCNet Informatica e Telecomunicacoes LTDA<br>
_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>&quot;o animal satisfeito dorme&quot;. - Guimarães Rosa<br>