Na seção anterior, discutimos os métodos de data, bem como os construtores.
Aqui, com a ajuda desses métodos, aprenderemos a comparar datas.
Basicamente, existem diferentes maneiras pelas quais podemos comparar datas, como:
- Comparando duas datas entre si.
- Comparando data com hora.
- Comparando datas usando getTime()
Comparando duas datas entre si
Exemplo:
Comparing Dates<br> function compare() { var d1=new Date('2020-01-23'); //yyyy-mm-dd var d2=new Date('2020-01-21'); //yyyy-mm-dd if(d1>d2) { document.write('True, First date is greater than second date'); } else if(d1<d2) { document.write('false, second date is smaller than the first'); } else document.write('both are same and equal'); compare(); invoking compare() < pre> <span> Test it Now </span> <h2>Comparing date with time</h2> <p> <strong>Example 1:</strong> Comparing different dates with different timings</p> <pre> Comparing Date and time<br> var d1=new Date('Apr 17, 2019 12:10:10'); //mm dd, yyyy hh:mm:ss var d2=new Date('Dec 1, 2019 12:10:30'); //mm dd, yyyy hh:mm:ss if(d1>d2) { document.write('False, d1 date and time is smaller than d2 date and time'); } else if(d1<d2) { document.write('true, d2 is greater in terms of both time and date'); } else document.write('both date are same equal'); < pre> <span> Test it Now </span> <p> <strong>Example2:</strong> Comparing same dates with disimilar timings</p> <pre> Comparing same date but different time<br> var d1=new Date('2018-01-10, 12:10:10'); //yyyy-mm-dd hh:mm:ss var d2=new Date('2018-01-10, 12:10:50'); //yyyy-mm-dd hh:mm:ss if(d1>d2) { document.write('False, d1 & d2 dates are same but d2 time is greater than d1 time'); } else if(d1<d2) { document.write('true, d2 time is greater than d1 time.'); } else document.write('both date and are same equal'); < pre> <span> Test it Now </span> <h2>Comparing date with getTime()</h2> <p>A better approach to make comparison between dates is to use <strong>getTime()</strong> function. This function lets converting date into numeric value to directly compare them. </p> <p> <strong>Example1:</strong> Comparing current date and time with a given date and time.</p> <pre> Comparing Dates<br> var d1=new Date('2019-10-10, 10:10:10'); //yyyy-mm-dd hh:mm:ss var currentdate=new Date(); //fetch the current date value if(d1.getTime()currentdate.getTime()) { document.write('False'); } else { document.write('True, equal'); } </pre> <span> Test it Now </span> <p> <strong>Example2:</strong> Comparing two different dates with different timings.</p> <pre> Comparing Dates<br> var d1=new Date('2019-10-10, 10:10:10'); var d2=new Date('2019-11-02, 14:19:05'); if(d1.getTime()d2.getTime()) { document.write('False, d2 date and time are greater than d1'); } else { document.write('True, d1 and d2 have same time and date'); } </pre> <span> Test it Now </span> <p>Thus, we can compare dates in many possible ways.</p> <h2>Changing Date Format</h2> <p>We can also change or set the format through JavaScript code. The function getFullYear(), GetMonth(), and getDate() allows to set the format of date accordingly.</p> <p> <strong>Example1:</strong> Changing the date format to 'yyyy-mm-dd'.</p> <pre> <h3>Changing date format</h3><br> var current_date=new Date(); //fetches current date var set_to=current_date.getFullYear()+'-'+(current_date.getMonth()+1)+'-'+current_date.getDate(); document.write('The format followed is yyyy-dd-mm: '+set_to); </pre> <span> Test it Now </span> <p>We can also set the date and time format according to our need.</p> <p> <strong>Example2:</strong> Changing the datetime format to 'yyyy-dd-mm hh:mm:ss'.</p> <pre> <h3>Changing date format</h3><br> var current_datetime=new Date(); //fetches current date and time var set_to=current_datetime.getFullYear()+'-'+(current_datetime.getMonth()+1)+'-'+current_datetime.getDate()+' '+current_datetime.getHours()+':'+current_datetime.getMinutes()+':'+current_datetime.getSeconds(); document.write('The format followed is yyyy-dd-mm hh:mm:ss : '+set_to); </pre> <span> Test it Now </span> <hr></d2)></pre></d2)></pre></d2)>Teste agora
Exemplo2: Comparando duas datas diferentes com horários diferentes.
Comparing Dates<br> var d1=new Date('2019-10-10, 10:10:10'); var d2=new Date('2019-11-02, 14:19:05'); if(d1.getTime()d2.getTime()) { document.write('False, d2 date and time are greater than d1'); } else { document.write('True, d1 and d2 have same time and date'); }Teste agora
Assim, podemos comparar datas de muitas maneiras possíveis.
Alterando o formato da data
Também podemos alterar ou definir o formato através do código JavaScript. As funções getFullYear(), GetMonth() e getDate() permitem definir o formato da data de acordo.
Exemplo 1: Alterando o formato da data para 'aaaa-mm-dd'.
<h3>Changing date format</h3><br> var current_date=new Date(); //fetches current date var set_to=current_date.getFullYear()+'-'+(current_date.getMonth()+1)+'-'+current_date.getDate(); document.write('The format followed is yyyy-dd-mm: '+set_to);Teste agora
Também podemos definir o formato de data e hora de acordo com nossa necessidade.
Exemplo2: Alterando o formato de data e hora para 'aaaa-dd-mm hh:mm:ss'.
<h3>Changing date format</h3><br> var current_datetime=new Date(); //fetches current date and time var set_to=current_datetime.getFullYear()+'-'+(current_datetime.getMonth()+1)+'-'+current_datetime.getDate()+' '+current_datetime.getHours()+':'+current_datetime.getMinutes()+':'+current_datetime.getSeconds(); document.write('The format followed is yyyy-dd-mm hh:mm:ss : '+set_to);Teste agora