Já vi alguns problemas... (problemas que eu acho que já tive quando fiz esse tipo de conta, na época em que eu brincava com QBasic - ah, bons tempos aqueles...)<br><br><div><span class="gmail_quote">On 11/16/06, <b class="gmail_sendername">
André Garcia Carneiro</b> &lt;<a href="mailto:andre.garcia.carneir@terra.com.br">andre.garcia.carneir@terra.com.br</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
#Calculando a hora:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $hora_calc = $otime[0] + (($time[0] % 24) ); #Descobri por acaso, por tentativa e erro....<br><br>#Se o resultado der maior que 24, deve-se tirar 24. A diferença é exatamente a hora que eu estou calculando.
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$hora_calc -= 24 if($hora_calc &gt; 24);</blockquote><div><br><br>Sugiro isso aqui, que faz mais sentido:<br>my $hora_calc = ($otime[0] + $time[0]) % 24;<br><br>(afinal, você quer somar as horas, mas quer que &quot;dê a volta&quot; no 24. A divisão inteira por 24 dá o número de dias, 
<br>o resto da divisão dá as horas que não completam um dia)<br>&nbsp;</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">#Somando os minutos
<br><br>#Para somar os minutos, simplesmente some os minutos dados em $hora_inicial. Se for maior do que 59,<br>#então deve-se somar a hora + 1, e se obter a diferenca dos minutos que passaram de 59.<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print $otime[1] + $time[1];
<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$min_calc = $otime[1] + $time[1];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($min_calc &gt; 59)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$min_calc -= 60;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$min_calc = abs $min_calc;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$hora_calc += 1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
</blockquote><div><br><br>A mesma coisa eu aplicaria aqui:<br>my $min_calc = $otime[1] + $time[1];<br><br>$hora_calc +=&nbsp; int ($min_calc / 60);&nbsp; # a divisão inteira por 60 dá a qtd de horas inteiras<br>$min_calc = $min_calc % 60;&nbsp; # e o resto da divisão dá os minutos que não completam 1 hora
<br><br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">print &quot;\nProxima HORA = $hora_calc\:&quot;.$min_calc.&quot;&nbsp;&nbsp;\n&quot;;
</blockquote><div><br>E aqui eu ainda tascava um <br><br>printf &quot;\nProxima HORA = %2d:%2d\n&quot;, $hora_calc, $min_calc;<br><br>pra não ficar com horas &quot;7:0&quot;, &quot;7:30&quot;, &quot;8:0&quot;, etc... ;-)<br>
&nbsp;</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">##FIM DO SCRIPT<br><br>Claro, esse foi o que eu usei para testar, mas a ideia foi usada para resolver isso via web.
<br><br><br><br>Cheers!</blockquote><div><br></div></div>E sim, claro que TIMTOWTDI, principalmente do jeito &quot;certo&quot;... <br>Outra opção POG era converter tudo pra minutos, trabalhar com minutos, e depois transformar em hh:mm ( h = int ( x / 60) % 24,&nbsp; m = x % 60 )
<br><br><br>ps: agora que me dei conta, depois de<br><br>$hora_calc +=&nbsp; int ($min_calc / 60);&nbsp; # a divisão inteira por 60 dá a qtd de horas inteiras<br><br>a hora pode ter passado de 24... talvez fosse melhor deixar pro fim das contas issaqui:
<br><br>$hora_calc = $hora_calc % 24;<br><br>Em vez de calcular o % 24 lá no começo...<br><br>-- <br>[]s<br>Wendel<br><br>&quot;Não ajustar o auto-ajuste&quot; - <a href="http://wendel.scardua.net/">http://wendel.scardua.net/
</a>