FUNÇÃO RELÓGIO COM SAUDAÇÃO

function updateTime() {
    const dateTimeElement = document.querySelector('.datetime');
    const dateElement = document.getElementById('date');
    const timeElement = document.getElementById('time');
    const greetingElement = document.getElementById('greeting');

    const horaAtual = new Date();
    const hora = horaAtual.getHours();

    let saudacao = "";

    if (hora >= 5 && hora < 12) {
        saudacao = "Bom dia!";
    } else if (hora >= 12 && hora < 18) {
        saudacao = "Boa tarde!";
    } else if (hora >= 18 && hora <= 23) {
        saudacao = "Boa noite!";
    } else {
        saudacao = "Boa madrugada!";
    }

    const options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
    const dataFormatada = horaAtual.toLocaleDateString('pt-BR', options);
    const horaFormatada = horaAtual.toLocaleTimeString();

    dateElement.textContent = `Hoje é ${dataFormatada}.`;
    timeElement.textContent = `São: ${horaFormatada}`;
    greetingElement.textContent = saudacao;

    dateTimeElement.style.display = 'block';
}

updateTime();

setInterval(updateTime, 1000);

Função updateTime

A função updateTime é usada para atualizar elementos HTML exibindo a data, a hora atual e uma saudação personalizada com base no período do dia.


Detalhamento do código

1. Selecionando Elementos do DOM

const dateTimeElement = document.querySelector('.datetime');
const dateElement = document.getElementById('date');
const timeElement = document.getElementById('time');
const greetingElement = document.getElementById('greeting');

Essas linhas utilizam seletores do DOM para capturar elementos HTML específicos:

2. Obtendo a Hora Atual

const horaAtual = new Date();
const hora = horaAtual.getHours();

3. Definindo a Saudação

let saudacao = "";

if (hora >= 5 && hora < 12) {
    saudacao = "Bom dia!";
} else if (hora >= 12 && hora < 18) {
    saudacao = "Boa tarde!";
} else if (hora >= 18 && hora <= 23) {
    saudacao = "Boa noite!";
} else {
    saudacao = "Boa madrugada!";
}

Aqui é definido um texto de saudação baseado no intervalo da hora atual:

4. Formatando Data e Hora

const options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
const dataFormatada = horaAtual.toLocaleDateString('pt-BR', options);
const horaFormatada = horaAtual.toLocaleTimeString();

5. Atualizando o Conteúdo HTML

dateElement.textContent = `Hoje é ${dataFormatada}.`;
timeElement.textContent = `São: ${horaFormatada}`;
greetingElement.textContent = saudacao;

6. Tornando o Elemento Visível

dateTimeElement.style.display = 'block';

Chamando a Função

updateTime();

Funcionamento no HTML

Para que esse código funcione, é necessário que os elementos com as classes e IDs mencionados estejam no HTML. Exemplo básico:

<div class="datetime">
    <div id="date"></div>
    <div id="time"></div>
    <div id="greeting"></div>
</div>

setInterval(updateTime, 1000); // Atualiza a cada 1 segundo