Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

falcao544

[Resolvido] Hora atual!

Recommended Posts

Olá pessoal! Bom acho que todo mundo já viu que aqui no IMASTERS tem o horário lá embaixo certo? Pois bem gostaria de saber como se faz um? Mas gostaria de saber como faz para ele ser atualizado de segundo em segundo! Valeu!

 

Obs: de segundo em segundo, pq aqui no fórum é de minuto em minuto!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu ai! Mas caso eu quisesse em php eu teria queusar AJAX certo?

 

Certo!Soh mandar exibir a hora num arquivo e mandar atualizar no ajax a cada 1 minuto... heheh facil

Compartilhar este post


Link para o post
Compartilhar em outros sites

nossa cara, precisa de AJAX nisso ?

e o tráfego cliente/servidor vai pra lua ne?!

 

tenho um script simples, porém perdi a referência de onde tirei o original.

Segue:

<html>
<head>
<title>Relógio</title>
<script type="text/javascript">
function hora(){
	var now = new Date();
	var hours = now.getHours();
	var minutes = now.getMinutes();
	var seconds = now.getSeconds();
	
	if (hours <=9) hours="0"+hours;
	if (minutes<=9) minutes="0"+minutes;
	if (seconds<=9) seconds="0"+seconds;
	var cdate = hours+":"+minutes+":"+seconds;
	
	document.getElementById('clock').innerHTML = cdate;
	setTimeout('hora()',1000);
}
</script>
</head>
<body>
	<span id="clock"></span>
	<script type="text/javascript">setTimeout('hora()',1000);</script>
</body>
</html>

ps: lógico que por ter sido feito com javascript puro, ele obtém a hora do relógio do usuário.

Uma implementação interessante, seria construir um relógio de verdade, onde a hora inicial viria do servidor (só use php nisso), e todo o restante do parse da hora, seria feito com javascript. Assim teríamos a hora do servidor independente do relógio errado ou não do cliente, rodando :lol:

 

ainda não encontrei nenhum script assim, mas fica ai um bom desafio pra galera, implementar isso ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu uso o código abaixo para fazer com a hora do servidor:

 

<div id="clock"></div>
<script type="text/javascript">
 
setInterval('updateClock()', 1000);
 
var dataReal = new Date(<?php echo date("Y");?>, <?php echo date("m")-1; ?>, <?php echo date("d"); ?>, <?php echo date("G"); ?>, <?php echo date("i"); ?>, <?php echo date("s"); ?>, 0);
var currentTime = new Date ( );
 
var diferenca = dataReal-currentTime;
 
function updateClock() {
	  var currentTime = new Date ( );
	  currentTime = new Date(currentTime.valueOf()+diferenca);
 
	  var currentHours = currentTime.getHours ( );
	  var currentMinutes = currentTime.getMinutes ( );
	  var currentSeconds = currentTime.getSeconds ( );
 
	  currentMinutes = ( currentMinutes < 10 ? "0" : "" ) + currentMinutes;
	  currentSeconds = ( currentSeconds < 10 ? "0" : "" ) + currentSeconds;
 
	  var currentTimeString = currentHours + ":" + currentMinutes + ":" + currentSeconds;// + " " + timeOfDay;
 
	  $dia = currentTime.getDate();
	  $mes = currentTime.getMonth()+1;
	  if ($mes<10) $mes = "0"+$mes;
	  $ano = currentTime.getYear();
	  if ($ano<=1900) $ano = $ano+1900;
	  $data = $dia + "-" + $mes + "-" + $ano;
	  document.getElementById('clock').innerHTML = $data + " " + currentTimeString;
}
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

ainda não encontrei nenhum script assim, mas fica ai um bom desafio pra galera, implementar isso

 

Hummmm,

 

<?php date_default_timezone_set( 'America/Sao_Paulo' ); ?>
<html>
<head>
	<title>Horário do servidor no Javascript</title>
	<script type="text/javascript">
		<?php
		echo 'var serverTime = ' , strftime( 'new Date("%B %d, %Y %H:%M:%S %z");' );
		echo 'var diff = new Date() - serverTime;';
		?>

		Number.prototype.pad = function( length ){
			var ret = new Array( length - this.toString().length > 0 ? length - this.toString().length : 0 );

			ret.push( this );

			return ret.join( '0' );
		}

		function formata( now ){
			return [ now.getHours().pad( 2 ) , now.getMinutes().pad( 2 ) , now.getSeconds().pad( 2 ) ].join( ':' );
		}

		function mostra(){
			var clock = document.getElementById( 'clock' );
			var timer = setInterval( function(){
				var now = new Date();

				clock.innerHTML = formata( new Date( now.getTime() - diff ) );
			} , 1000 );
		}
	</script>
</head>

<body>
	<span id="clock"></span>
	<script type="text/javascript">mostra();</script>
</body>
</html>

 

:lol:

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php list($h,$m,$s) = explode(':',date('H:i:s'));
echo "var clock = {
    hour:    {$h},
    minute:  {$m},
    second:  {$s}
}"; ?>

function updateClock(target){
    if(++clock.second == 60) {
        clock.second = 0;
        if(++clock.minute == 60) {
            clock.minute = 0;
            if(++clock.hour == 24) clock.hour = 0;
        }
     }
     if(clock.second < 10) clock.second = '0' + clock.second;
     if(clock.minute < 10) clock.minute = '0' + clock.minute;
     if(clock.hour < 10) clock.hour = '0' + clock.hour;
     document.getElementById(target).innerHTML = clock.second + ':' + clock.minute + ':' + clock.second;
}

window.onload = function(){
    setInterval(updateClock,1000);
}

Edit: gostei disso:

Number.prototype.pad = function( length ){
                                var ret = new Array( length - this.toString().length > 0 ? length - this.toString().length : 0 );

                                ret.push( this );

                                return ret.join( '0' );
                        }

                        function formata( now ){
                                return [ now.getHours().pad( 2 ) , now.getMinutes().pad( 2 ) , now.getSeconds().pad( 2 ) ].join( ':' );
                        }

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.