Professor Marco Antonio Andrade

Trabalhando com data e hora no JavaScript

30/10/2018 - 5 mins de leitura

Criando uma data a partir de um objeto date

let hoje = new Date();
console.log(hoje);

Observe o padrão da data criada pelo objeto date:

Tue Oct 30 2018 13:17:10 GMT-0400 (Amazon Standard Time)

Definindo uma data

O formato de definição de um objeto date é o seguinte:

new Date(ano, mês, dia, hora, minuto, segundo, milisegundo);

Caso seja necessário definir uma data podemos fazer da seguinte forma:

let pagamento = new Date(2018, 10, 3);

Obs.: O mês é contado a partir de 0, assim, o valor 10 refere-se a novembro.

O exemplo a seguir também definir uma data com horário:

let consulta = new Date(2018, 10, 3, 13, 30, 00);

Selecionando o ano de um objeto date

hoje.getDate();

Selecionando o mês de um objeto date

Em um objeto date os meses são numerados a partir de 0, sendo assim, para imprimir corretamente o mês é necessário somar 1, veja:

hoje.getMonth() + 1;

Selecionando o dia de um objeto date

hoje.getFullYear();

Imprimindo uma data no formato utilizado no Brasil:

No exemplo a seguir vamos selecionar dia, mês e ano de uma data e concotenar com ‘' para imprimir uma data no formato do Brasil:

let diaMesAno = hoje.getDate() + '/' + (hoje.getMonth() + 1) + '/' + hoje.getFullYear();
console.log(diaMesAno);

Selecionando a hora de um objeto date

hoje.getHours();

Selecionando o minuto de um objeto date

hoje.getMinutes();

Selecionando o segundo de um objeto date

hoje.getSeconds();

Imprimindo um horário

Neste exemplo vamos concatenar o horário de uma determinada consulta:

let horarioConsulta = consulta.getHours() + ':' + consulta.getMinutes() + ':' + consulta.getSeconds();
console.log(horarioConsulta);

Milisegundos

Também é possível selecionar uma data em milisegundos, contados a partir das 00:00:00 de 1 de janeiro de 1970:

hoje.getTime();

Criando um helper

Para facilitar a manipulação de objetos date podemos criar funções. A seguir alguns exemplos.

Uma função que recebe um texto, no formato DD/MM/YYYY definindo data, e retorna o objeto date:

function textoParaData(texto){
	let data = texto.split('/');
	return new Date(data[2], (data[1] - 1), data[0]);
}
textoParaData("28/10/2018");

Uma função que recebe um objeto date e retorna uma string formata como DD/MM/YYYY:

function dataParaTexto(data){
	return data.getDate() + '/' + (data.getMonth() + 1) + '/' + data.getFullYear();
}
dataParaTexto(new Date());

Uma função que recebe um texto, no formato DD/MM/YYYY HH:MM:SS definindo data e horário, e retorna um objeto date:

function textoParaDataHora(texto){
	let x = texto.split(' ');
	let data = x[0].split('/');
	let hora = x[1].split(':');
	return new Date(data[2], (data[1] - 1), data[0], hora[0], hora[1], hora[2]);
}
textoParaDataHora("30/10/2018 13:30:00");

Uma função que recebe um objeto date e retorna um texto no formato DD/MM/YYYY HH:MM:SS:

function dataHoraParaTexto(data){
	return data.getDate() + '/' + (data.getMonth() + 1) + '/' + data.getFullYear() + ' ' + data.getHours() + ':' + data.getMinutes() + ':' + data.getSeconds();
}
dataHoraParaTexto(new Date());

Uma função que recebe um objeto date e retorna somente o horário no formato HH:MM:SS:

function horaParaTexto(data){
	return data.getHours() + ':' + data.getMinutes() + ':' + data.getSeconds();
}
horaParaTexto(new Date());
Este site usa cookies próprios e de terceiros para melhorar os seus serviços, elaborar informação estatística e mostrar conteúdos ou serviços personalizados através da análise da sua navegação. Para aceitar o seu uso, você pode clicar em Aceitar ou continuar navegando. Além disso, você pode configurar ou rejeitar o uso de cookies ajustando suas Configurações. Para obter mais informações sobre o uso de cookies e seus direitos, acesse nossa Política de Cookies