Comparando datas com Javascript

Tentando voltar com o jejum de bastante tempo aqui no blog. Tentarei potar mais vezes, mas quanto mais o tempo passa, menos tempo me resta rs.

Hoje estava com um problema para fazer um relatório de um ERP[bb] que estou fazendo para a loja de material elétrico[bb] do meu pai. O problema é simples. Será feito um relatório de lançamentos financeiros com data inicial e data final, porém a data inicial não poderia ser maior que a data final. Óbvio.

O formulário é basicamente o seguinte:

<label for="data_inicial">Data Inicial</label>
<input id="data_inicial" type="text" name="data_inicial" value="" readonly="readonly" />
	
<label for="data_final">Data Final</label>
<input id="data_final" type="text" name="data_final" value="" readonly="readonly" />

<label>Tipo</label>
<input type="radio" name="tipo" value="todos" />Todos
<input type="radio" name="tipo" value="credito" />Crédito
<input type="radio" name="tipo" value="debito" />Débito

<label for="descricao">Descrição</label>
<input id="descricao" type="text" name="descricao" value="" />

<button id="consultar_btn" name="" type="button">Consultar</button>

O necessário agora é pegar as datas e fazer a verificação. O Javascript tem um objeto chamado “Date” que nos permite fazer operações com datas. Ele é simples de se trabalhar, mas é preciso escrever um pouco de código. O meu código abaixo é utilizando o JQuery, mas você pode fazer com Javascript puro se quiser.

{code type=PHP} $(‘#consultar_btn’).click(function(){ var dia_inicial = $(‘#data_inicial’).val().slice(0, 2); var mes_inicial = $(‘#data_inicial’).val().slice(3, 5); var ano_inicial = $(‘#data_inicial’).val().slice(6, 10); var data_inicial = new Date(ano_inicial,mes_inicial,dia_inicial);

var dia_final = $(‘#data_final’).val().slice(0, 2); var mes_final = $(‘#data_final’).val().slice(3, 5); var ano_final = $(‘#data_final’).val().slice(6, 10); var data_final = new Date(ano_final,mes_final,dia_final);

if(data_inicial > data_final){ alert(‘A data inicial não pode ser superior à data final.’); } else{ //Faça aqui o que quiser =) } }); {/code}

O que fiz foi basicamente pegar todas as partes da data inicial e data final separados (dia, mês e ano).  Após isso, eu criei dois objetos do tipo Date. Como construtor, o objeto Date pode receber os parâmetros ano, mes e dia nessa mesma ordem. À partir desse momento eu pude fazer a comparação entre a data inicial e a data final. Simples assim. Explicando o método slice: O método “slice” literalmente corta uma string. Ele recebe dois parâmetros. O primeiro é onde você vai começar a cortar a string (sempre iniciando com zero) e o segundo é até onde vai cortar. O método vai retornar o pedaço da string que foi cortado. Faça alguns testes e se divirta =)

É isso aí pessoal. Até a próxima.

Comparando datas com Javascript

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *