PHP'de Tarih Dizelerini Karşılaştırma
Diyelim ki aşağıdaki metin formatında iki tarihimiz var:
<?php
$date1 = '2020-12-01';
$date2 = '2019-12-01';
?>
Bu durumda, bu tarihleri karşılaştırabilir ve hangisinin daha büyük olduğunu öğrenebiliriz:
<?php
var_dump($date1 > $date2);
?>
Bu tarihlerin karşılaştırması nasıl gerçekleşiyor? Olay şu ki, tarihlerimiz dizeleri temsil ediyor ve PHP onları dize olarak karşılaştırıyor. Yani önce iki tarihin ilk karakterlerini karşılaştırıyor: eğer aynılarsa, PHP ikinci karakterleri karşılaştırır ve bir 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.
Tarihlerin aynı formatta olması da önemlidir. Bizim durumumuzda, tarih parçalarının ayırıcıları tirelerdir. Bu, elbette, gerekli değildir. Örneğin, noktalar koyabilirsiniz:
<?php
$date1 = '2020.12.01';
$date2 = '2019.12.01';
?>
Veya ayırıcıları tamamen kaldırabilirsiniz:
<?php
$date1 = '20201201';
$date2 = '20191201';
?>
Karşılaştırmanın doğru olması için ö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ğuna dair bir mesaj yazdıran kodu yazın:
$date1 = '2020-11-30';
$date2 = '2020-12-01';