Data e Hora em Javascript: o objeto Date
Data e Hora em Javascript: o objeto Date
O objeto Date é um objeto embutido do JavaScript que permite trabalhar com datas e horas.
Com ele, podemos armazenar datas e realizar operações sobre elas, por meio dos métodos do objeto.
As datas em JS são baseadas em um valor de tempo que corresponde ao número de milissegundos decorridos desde 01 de Janeiro de 1970, 00:00:00 UTC (O que chamamos de “época Unix”).
Datas anteriores a esse dia são armazenadas na forma de número negativo de milissegundos.
A faixa de datas suportadas pelo JS é de -100.000.000 de dias (anterior a 01/01/70) até 100.000.000 de dias após 01/01/1970.
Os objetos Date em JS somente podem ser instanciados chamando-se seu construtor, ou seja, usando o comando new.
Caso o objeto Date seja invocado como uma função (sem o operador new), será retornada uma string contendo a data e hora atuais.
Sintaxe para criação de objetos Date
Podemos criar um objeto Date de quatro formas distintas, como segue:
- Objeto contendo a data e hora atuais. Basta invocar o construtor, sem passar nenhum argumento:
var data = new Date();
- Passando o valor da data em milissegundos decorridos a partir de 01/01/1970, 00:00:00 (número inteiro):
var data = new Date(milissegundos);
- Passando uma data, com dia, mês e ano (mês é contado a partir do zero = janeiro):
var data = new Date(ano, mês, dia);
Se o ano for passado com dois dígitos, será mapeado como um ano entre 1900 e 1999.
Opcionalmente podemos também passar horas, minutos, segundos e milissegundos, nessa ordem. Na verdade, o único argumento obrigatório nesse método é o ano; o mês e o dia também são opcionais.
- Passando a data em uma string de formato específico:
var nome = new Date(string_de_Data);
Exemplos de criação de objeto Date
O código a seguir ilustra a criação de objetos Date em JavaScript:
<html> <head> <title>Datas em JavaScript</title> </head> <body> <script> // Array com os nomes dos meses do ano: var mes = ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"]; var hoje = new Date(); //Data e hora atuais var novadata = new Date(2015,11,21); //atribuindo data var milissegundos = new Date(1488569383588); //milissegundos desde 01/01/70 var dataDeString = new Date("2015/11/21"); //passando uma string com a data // Invocando o objeto Date como uma função (sem operador new): document.write("Data: ", Date(), "<br/>"); document.write("Data em milissegundos: ", Date.now(), "<br/><br/>"); </script> </body> </html> |
Visualizar e alterar objetos de data
Para visualizarmos os elementos de data e hora dos objetos instanciados, vamos nos utilizar dos métodos get do objeto Date (getters).
Podemos alterar os valores dos elementos de data e hora com o uso dos métodos set (setters).
Esses serão os assuntos das próximas lições.
Como faço para mostrar a data de anteontem e ontem? Tipo 24 e 25 de Feveiro