Atualizado: 07/12/2024

Objeto Date. Lidando com Datas - JavaScript

O objeto Date permite manipular datas e horas em JavaScript.

Criando Datas

Existem várias maneiras de criar um objeto Date:

  • Usando o construtor vazio Date sem parâmetros. Neste caso, o objeto criado armazena a data e hora atuais:

    const currentDate = new Date();
    console.log(currentDate);   // Thu Oct 26 2023 13:17:53 GMT+0100
    
  • Passando a quantidade de milissegundos desde o início da era Unix, ou seja, desde 1º de janeiro de 1970 às 00:00:00 GMT:

    const myDate = new Date(1359270000000);
    console.log(myDate); // Sun Jan 27 2013 11:00:00 GMT+0400 (Moscou, horário padrão)
    
  • Inserindo dia, mês e ano diretamente:

    const date1 = new Date("27 March 2008");
    console.log(date1); // Thu Mar 27 2008 00:00:00 GMT+0300 (Moscou, horário padrão)
    

    Ou assim:

    const date2 = new Date("3/27/2008");
    console.log(date2); // Thu Mar 27 2008 00:00:00 GMT+0300 (Moscou, horário padrão)
    

    Mais uma forma:

    const date3 = new Date("3 27 2008");
        console.log(date3); // Thu Mar 27 2008 00:00:00 GMT+0300 (Moscou, horário padrão)
        
  • O quarto método envolve passar todos os parâmetros de data e tempo no construtor Date:

    const myDate = new Date(2012, 11, 25, 18, 30, 20, 10);
    console.log(myDate); // Tue Dec 25 2012 18:30:20 GMT+0400 (Moscou, horário padrão)
    

    Aqui, os parâmetros são, respectivamente: ano, mês, dia, horas, minutos, segundos e milissegundos.

    O mês é numerado de 0 a 11, onde 0 é janeiro e 11 é dezembro.

Obtendo Data e Hora

Para acessar diferentes componentes da data, uma série de métodos é utilizada:

  • getDate(): Retorna o dia do mês.

  • getDay(): Retorna o dia da semana (começando por 0 para domingo até 6 para sábado).

  • getMonth(): Retorna o número do mês (começando por 0, então o mês 0 é janeiro).

  • getFullYear(): Retorna o ano.

  • toDateString(): Retorna a data completa em forma de string.

  • getHours(): Retorna a hora (de 0 a 23).

  • getMinutes(): Retorna os minutos (de 0 a 59).

  • getSeconds(): Retorna os segundos (de 0 a 59).

  • getMilliseconds(): Retorna os milissegundos (de 0 a 999).

  • toTimeString(): Retorna o tempo completo em forma de string.

Vamos pegar a data atual com o seguinte código:

const today = new Date();
console.log(today.getDate());       // 26
console.log(today.getDay());        // 4
console.log(today.getMonth());      // 9
console.log(today.getFullYear());   // 2023

Para converter os valores numéricos em nomes mais familiares para os dias da semana e meses, usamos arrays:

const days = ["Domingo", "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado"];
const months = ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", 
                "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"];

const today = new Date();
console.log(`Hoje: ${today.getDate()} de ${months[today.getMonth()]} de ${today.getFullYear()}, ${days[today.getDay()]}`);
// Hoje: 26 de Outubro de 2023, Quinta-feira

Agora, vamos pegar horário atual:

var welcome;
const myDate = new Date();
const hour = myDate.getHours();
const minute = myDate.getMinutes();
const second = myDate.getSeconds();

console.log(`Horário atual: ${hour}:${minute}:${second}`); // Horário atual: 13:38:26

Configurando Data e Hora

Além de definir parâmetros de data no construtor, também podemos usar métodos adicionais do objeto Date para configurações específicas:

  • setDate(): Configura o dia na data.

  • setMonth(): Configura o mês (começando por 0, ou seja, o mês 0 é janeiro).

  • setFullYear(): Configura o ano.

  • setHours(): Configura a hora.

  • setMinutes(): Configura os minutos.

  • setSeconds(): Configura os segundos.

  • setMilliseconds(): Configura os milissegundos.

Vamos configurar uma data específica:

const myDate = new Date();
myDate.setDate(14);
myDate.setMonth(10);    // Novembro
myDate.setFullYear(2023); 
console.log(myDate); // Ter, 14 de Novembro de 2023 13:41:20 GMT+0300 (Hora padrão de Moscou)

Ao configurar valores, podemos passar um valor maior que o máximo permitido. Por exemplo, configurar a hora para 54:

myDate.setHours(54);

Neste caso, o valor da hora será ajustado para 54 - 24 * 2 = 6, e as horas excedentes somam dois dias ao calendário (24 * 2 horas), adicionando dois dias à data. O mesmo princípio se aplica a dias, minutos, segundos e milissegundos.

Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com