O objeto Date() nos permite trabalhar com datas:

Seg 10 de fevereiro de 2020 08:12:22 GMT-0300 (Horário Padrão de Brasília)
Ano: 2020 Mês: 2 Dia: 10 Horas: 8 Minutos: 12 Segundos: 22

 

var d = new Date();

Saída de Data

Por padrão, o JavaScript usará o fuso horário do navegador e exibirá uma data como uma sequência de texto completo:

Seg 10 de fevereiro de 2020 08:12:22 GMT-0300 (Horário Padrão de Brasília)

Você aprenderá muito mais sobre como exibir datas, posteriormente neste tutorial.

Criar Objetos de Data

Os objetos de data são criados com o construtor new Date().

Existem 4 maneiras de criar um novo objeto de data:

  • new Date()
  • new Date(ano, mes, dia, horas, minutos, segundos, milisegundos)
  • new Date(milisegundos)
  • new Date(date string)

new Date()

new Date() cria um novo objeto de data com a data e hora atuais.

var d = new Date();

Os objetos de data são estáticos. A hora do computador está passando, mas os objetos de data não.

new Date(ano, mes, dia, horas, minutos, segundos, milisegundos) cria um novo objeto de data com uma data e hora especificadas.

var d = new Date(2018, 11, 24, 10, 33, 30, 0);

Nota: O JavaScript conta os meses de 0 a 11. Janeiro é 0. Dezembro é 11.

6 números nos argumentos especificam ano, mês, dia, hora, minuto, segundo:

var d = new Date(2018, 11, 24, 10, 33, 30);

5 números nos argumentos especificam ano, mês, dia, hora e minuto:

var d = new Date(2018, 11, 24, 10, 33);

4 números nos argumentos especificam ano, mês, dia e hora:

var d = new Date(2018, 11, 24, 10);

3 números nos argumentos especificam ano, mês e dia:

var d = new Date(2018, 11, 24);

2 números nos argumentos especificam ano e mês:

var d = new Date(2018, 11);

Você não pode omitir o mês. Se você fornecer apenas um parâmetro, ele será tratado como milissegundos.

var d = new Date(2018);

Século anterior

Os anos de um e dois dígitos serão interpretados como 19xx:

var d = new Date(99, 11, 24);
var d = new Date(9, 11, 24);

new Date (dateString)

new Date(dateString) cria um novo objeto de data a partir de uma sequência de datas :

var d = new Date("October 13, 2014 11:13:00");

As seqüências de datas são descritas no próximo capítulo.

Armazenamento em milisegundos

JavaScript armazena datas como número de milissegundos desde 01 de janeiro de 1970, 00:00:00 UTC (Universal Time Coordinated).

O tempo zero é 01 de janeiro de 1970 00:00:00 UTC.

Agora são: 1581333142352 milissegundos após 01 de janeiro de 1970

new Date(milisegundos)

new Date(milisegundos) cria um novo objeto de data como hora zero mais milissegundos :

var d = new Date(0);

01 de janeiro de 1970 mais 100.000.000.000 de milissegundos é aproximadamente 03 de março de 1973:

var d = new Date(100000000000);

01 de janeiro de 1970 menos 100.000.000.000 milissegundos é aproximadamente 31 de outubro de 1966:

var d = new Date(-100000000000);
var d = new Date(86400000);

Um dia (24 horas) é de 86 400 000 milissegundos.

Métodos de Date()

Quando um objeto Date é criado, vários métodos permitem que você opere nele.

Os métodos de data permitem obter e definir os objetos de ano, mês, dia, hora, minuto, segundo e milissegundo de data, usando a hora local ou a hora UTC (universal ou GMT).

Os métodos de data e fuso horário são abordados nos próximos capítulos.

Exibição de datas

JavaScript (por padrão) produzirá datas no formato de sequência de texto completo:

Tue Mar 24 2015 21:00:00 GMT-0300 (Horário Padrão de Brasília)

Quando você exibe um objeto de data em HTML, ele é automaticamente convertido em um texto, com o método toString().

d = new Date();
document.getElementById("demo").innerHTML = d;

Igual a:

d = new Date();
document.getElementById("demo").innerHTML = d.toString();

O método toUTCString() converte uma data em uma string UTC (um padrão de exibição de data).

var d = new Date();
document.getElementById("demo").innerHTML = d.toUTCString();

O método toDateString() converte uma data em um formato mais legível:

var d = new Date();
document.getElementById("demo").innerHTML = d.toDateString();

Teste-se com Exercícios

Crie um objeto Data e alerte a data e hora atuais.

var d = ;
alerta (d);