Os materiais didáticos aqui disponibilizados estão licenciados através de Creative Commons Atribuição-SemDerivações-SemDerivados CC BY-NC-ND. Você possui a permissão para visualizar e compartilhar, desde que atribua os créditos do autor. Não poderá alterá-los e nem utilizá-los para fins comerciais.
Atribuição-SemDerivações-SemDerivados
CC BY-NC-ND
Cursos / Informática para Internet / Desenvolvimento Web I / Aula
O objeto Date é usado quando é necessário trabalhar com datas e horas. Ele representa uma data, incluindo informação de ano, mês, dia, hora, minuto, segundo e milésimo de segundo. Além disso, ele oferece diversas facilidades para manipulação de valores que representam datas, além de ter diversos métodos que permitem a conversão de e para outros tipos de dados (como string e inteiro). Um objeto Date pode ser criado de quatro maneiras diferentes, a saber:
var d = new Date();
var d = new Date(milisegundos);
var d = new Date(dataString);
var d = new Date(ano, mes, dia, hora, minuto, segundo, milisegundo);
O trecho de código abaixo exemplifica como apresentar na página a hora atual da máquina onde a página é carregada.
<html>
<body>
<script type="text/javascript">
var d=new Date();
document.write(d);
</script>
</body>
</html>
Além dos construtores, existem várias funções interessantes para manipular datas e horas. No Quadro 2, você pode encontrar os principais métodos existentes no objeto Date.
O trecho de código a seguir é referente à implementação de um relógio digital, usando as funções do objeto Date. Como pode ser visto, a função calcularHora() recupera a data e a hora atual a partir do construtor padrão do objeto Date e depois guarda em variáveis separadas as informações de hora, minuto e segundo (linhas 6 a 13).
<html>
<head>
<script type="text/javascript">
function calcularHora(){
var hoje = new Date();
var hora = hoje.getHours();
var minuto = hoje.getMinutes();
var segundo = hoje.getSeconds();
// adiciona 0 na frente do número caso o número seja <10
minuto=formata(minuto);
segundo=formata(segundo);
var horario = hora+":"+minuto+":"+segundo;
var relogio = document.getElementById('relogio');
relogio.innerHTML = horario;
setTimeout('calcularHora()',500);
}
function formata(i){
if (i<10){
i="0" + i;
}
return i;
}
</script>
</head>
<body onload="calcularHora()">
<div id="relogio"></div>
</body>
</html>
O minuto e segundo são formatados através do uso da função auxiliar formata(), que tem como objetivo acrescentar um zero na frente, caso o número só tenha um dígito (menor que 10). Depois, é criada uma variável chamada horario, que guarda a hora atual no formato: HORA:MINUTO:SEGUNDO (linha 15).
Por fim, o elemento HTML com id igual a “relogio” (linha 34) é recuperado, através do uso da função document.getElementById(), e o seu conteúdo é alterado para apresentar a hora atual no formato legível (linhas 17 a 19).
A última linha da função é uma chamada ao método setTimeout() (linha 21), que funciona como um agendamento de uma chamada de função. Em outras palavras, essa linha faz com que a função calcularHora() indicada como parâmetro seja chamada novamente daqui a 500 milésimos de segundos.
Versão 5.3 - Todos os Direitos reservados