Ir para conteúdo

Arquivado

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

WellAlencar

Exibir e Atualizar a Data do Servidor

Recommended Posts

Tenho o seguinte código em javascript, mas ao tentar pegar a data do servidor com o seiDate(), está vindo uma data totalmente errada

já ecoei essa variável em php: $data = date('d/m/Y') e funciona normalmente...Alguém saberia dizer qual erro pode estar acontecendo....Tb gostaria de Atualizar a data que pego do servidor de tempo em tempo!!!

 

var data = new Date();

data.setDate(<?php echo date('d/m/Y'); ?>);

var dispDate;

var dia = data.getDay();
var mes = data.getMonth();
var ano = data.getFullYear();
if (dia <= 9) dia = "0" + dia;
if (mes <= 9) mes = "0" + mes;
dispDate = dia + "/" + mes + "/" + ano;
document.getElementById("data").innerHTML = dispDate;

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
new Date().toLocaleTimeString(); // 15:46:33
new Date().toLocaleDateString(); // 10/06/2015
new Date().toLocaleString(); // 10/06/2015 15:46:33

// mostra datatime correndo
window.onload = function(){
    setInterval(function(){
        document.getElementById('time').innerHTML = new Date().toLocaleString();
    }, 1000);
};

editei para algo mais completo

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu Hugo....vou testar aqui!!!


Testei o código...ele exibe a data, porém é data do cliente, não a do servidor!!!

Fiz o seguinte teste: Minha máquina é servidor localhost.....dai mudei a data e hora, testei com meu celular....a hora

funcionou...já a data....ficou aparecendo a data do meu aparelho em vez da data do servidor!!!

esta é minha função para as horas que está funcionando:

 

//Relógio DIGITAL e Data
var digital = new Date(); // criando um objeto date do javascript para receber as horas
digital.setHours(<?php echo date("H,i,s"); ?>); // setando a hora usando a hora do servidor
var dispTime;

 

function clock() {
//Relógio
var hours = digital.getHours();
var minutes = digital.getMinutes();
var seconds = digital.getSeconds();
digital.setSeconds( seconds+1 ); //esta linha faz com que os segundos recebam +1 para simular o relógio
// acrescentando zero quando segundos/minutos for menor ou igual a 9
if (minutes <= 9) minutes = "0" + minutes;
if (seconds <= 9) seconds = "0" + seconds;
dispTime = hours + ":" + minutes + ":" + seconds;
document.getElementById("clock").innerHTML = dispTime; //enviando o disptime para a div clock
setTimeout("clock()", 1000); // chamando a função a cada 1 segundo
}
window.onload = clock;
tentei adaptá-la para fazer a mesma coisa com a data mas não deu certo!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Testei o código...ele exibe a data, porém é data do cliente, não a do servidor!!! [...]

 

pois é, tem esse detalhe que esqueci de citar, que no caso javascript é client-side.

 

pegue a hora com ajax de um arquivo php.

$.ajax({
  url: 'dataHora.php',
  cache: false
})
.done(function( data ) {
  $("#results").html( data );
});
<?php

  echo date('d/m/Y H:i:s');

Obs:

setTimeout("clock()", 1000); // chamando a função a cada 1 segundo

 

setTimeout() executa uma função SEM intervalo em Milissegundos.

setInterval() executa uma função COM intervalos em Milissegundos.

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.