Verificar se Data e hora passou moment js

2 respostas Resolvido
programaçãojavascript
G

Olá, sou péssima com datas e estou com um problema, preciso saber com base no meu objeto de data e hora, preciso saber se a hora de inicio, fim e data não passou.

Tenho o seguinte objeto:

{
    "horarioInicio": "10:00",
    "horarioFim": "14:00",
    "data": "2022-09-20"
  }

(Basicamente preciso saber quais desses está acontecendo no momento, exemplo:
Hoje é dia 2022-09-20 e são 11:00 hrs, então esse objeto é verdadeiro.)

Estou usando moment no projeto.

2 Respostas

H
Solucao aceita

Basta você juntar a data com os horários para obter a data/hora de início e fim, e depois comparar com a data atual.

Segundo a documentação, um dos formatos aceitos é “aaaa-mm-dd hh:mm”, então precisa colocar um espaço entre a data e o horário. Ficaria assim:

var objeto = {
    "horarioInicio": "10:00",
    "horarioFim": "14:00",
    "data": "2022-09-20"
};

var inicio = moment(objeto.data + ' ' + objeto.horarioInicio);
var fim = moment(objeto.data + ' ' + objeto.horarioFim);

var agora = moment();
if (agora.isBetween(inicio, fim)) {
    console.log('verdadeiro');
} else {
    console.log('falso');
}
G

Muito obrigada, deu certo!

Criado 20 de setembro de 2022
Ultima resposta 20 de set. de 2022
Respostas 2
Participantes 2