PHP'de iki tarih arasındaki farkı anlamak, düşündüğünüz kadar zor değildir. Aslında, diğer programlama dilleriyle karşılaştırıldığında çok daha basit. Bu makalede, aylar, günler veya yıllar olarak bir çift tarih arasındaki temel farkların nasıl elde edileceğini keşfedeceğiz.

Farkı hesaplamanın en kolay ve basit yolu PHP'nin date_diff() fonksiyonunu kullanmaktır. Bu işlev son derece temizdir ve tarihler arasındaki temel farkları yalnızca birkaç satır kodla elde etmenizi sağlar. date_diff() fonksiyonu yıllar, günler ve daha fazlası gibi tarihler arasında ayrıntılı farklılıklar sağlayan çeşitli biçim erişimcileri vardır.

Önümüzdeki örnek için aşağıdaki iki tarihi alalım

  • Tarih 1: 2020-01-01 10:30:00
  • Tarih 2: 2020-09-22 15:30:00

Tarihler arasındaki farkı hesaplamak için date_diff kullanma

date_diff()İşlevi motorları, gidiş DateTime almak için iki önemli parametre alır gelen ve DateTime için . Bu DateTime parametreleri, çeşitli şekillerde çözülebilecek uygun türlerde olmalıdır. Aşağıdaki örnekte, DateTime parametreleri date_create()işlev kullanılarak oluşturulacaktır . Date_diff nesnesi oluşturulduktan sonra, belirli değerlere genel özelliklerinden erişilebilir.

Kodumuza gelecek olursak; 

                           // Date to calculate from                        // Date to calculate to             
$dateDifference = date_diff(date_create("2020-01-01 12:30:00"), date_create("2020-09-20 22:00:00"));

echo "Difference In Years: " . $dateDifference->y . "<br />";
echo "Difference In Months: " . $dateDifference->m . "<br />";
echo "Difference In Days: " . $dateDifference->days . "<br />";

Çıktımız ise ; 

Difference In Years: 0
Difference In Months: 8
Difference In Days: 263

date_diff() fonksiyonu aynı zamanda kullanıma sunulan sahiptir gerekli tarih farklılıkları yazdırmak için ek parametreler ile herhangi bir dize geçirilebilir bir biçim fonksiyonudur. Biçim parametreleri için , dateinterval.format.php  belgelerine göz atabilirsiniz.

date_diff() ile format işlevini kullanan bir örnek görelim. 

$dateDifference = date_diff(date_create("2020-01-01 12:30:00"), date_create("2020-09-20 22:00:00"));

echo $dateDifference->format('The difference in days between these two dates is %a');

Çıktımız ; 

The difference in days between these two dates is 263

Umarım bu çok yönlü işlev, tarih hesaplamalarınızda size yardımcı olur, kendiniz de görebileceğiniz gibi, yalnızca önemli farklılıkları yazdırmak için güçlü bir biçim işlevini kullanamazsınız. Ama aynı zamanda değerleri yazdırmak için bir dizi özelliğe de erişebilirsiniz. Date diff () belgelerine bakmak isteyebilirsiniz.