JavaScript'te Tarih Karşılaştırması
Diyelim ki elimizde aşağıdaki metin formatında iki tarih var:
let date1 = '2020-12-01';
let date2 = '2019-12-01';
Bu durumda, bu tarihleri karşılaştırabilir ve hangisinin daha büyük olduğunu öğrenebiliriz:
console.log(date1 > date2); // true yazacak
Bu tarihlerin karşılaştırması nasıl gerçekleşiyor? Olay şu ki, tarihlerimiz dizgileri temsil ediyor ve JavaScript onları dizi olarak karşılaştırır. Yani önce iki tarihin ilk karakterlerini karşılaştırır: eğer aynıysa, JavaScript ikinci karakterleri karşılaştırır, ve fark bulana kadar bu şekilde devam eder. Tarih formatımızda önce yıl, sonra ay ve ardından gün gelmesi sayesinde, böyle bir karşılaştırma mümkün olur.
Olay şu ki, eğer birinci yılın rakamı ikinci yılın rakamından büyükse, aylar ve günlerle ilgili ne olduğunun artık bir önemi yok demektir - birinci yıl kesinlikle daha büyüktür. Eğer yıllar aynıysa, ayı daha büyük olan tarih daha büyük olacaktır. Ve eğer aylar da aynıysa, günü daha büyük olan tarih daha büyük olacaktır. Ve eğer günler de aynıysa, tarihler eşittir.
Tarihlerin aynı formatta olması da önemlidir. Bizim durumumuzda tarih bölümlerinin ayırıcıları tirelerdir. Bu, elbette, gerekli değildir. Örneğin, noktalar koyabilirsiniz:
let date1 = '2020.12.01';
let date2 = '2019.12.01';
Veya ayırıcıları tamamen kaldırabilirsiniz:
let date1 = '20201201';
let date2 = '20191201';
Karşılaştırmanın doğru olması için asıl önemli olan, yerleşimin şu şekilde olmasıdır: önce yıl, sonra ay, ardından gün.
Aşağıda verilen iki tarihi karşılaştıran ve hangisinin daha büyük olduğunu bir mesajla yazdıran kodu yazın:
let date1 = '2020-11-30';
let date2 = '2020-12-01';