ive gibi 2 tarih var:
2009-11-11 2002-11-11
ve i 'aralarındaki yıl '7 almak istiyorum. ben bunu nasıl yapmalıyım? ay ve gün hep aynı olacak ve ben kullanmak istemiyorum -. Bunun için bir uygun olanı yolu var mı?
Php ile 5.3 + kullanabilirsiniz DateTime::diff()
$a = new DateTime('2009-11-11');
foreach( array('2002-11-11', '2002-11-12', '2005-05-06') as $dt) {
$b = new DateTime($dt);
echo $dt, ' | ', $a->diff($b)->format('%y'), ' | ', $a->diff($b)->format('%y %m %d'), "\n";
}
baskılar
2002-11-11 | 7 | 7 0 0
2002-11-12 | 6 | 6 11 29
2005-05-06 | 4 | 4 6 5
İşte addedbytes ile son derece kullanışlı bir fonksiyondur
Ben kuvvetle Sarfraz Ahmed önerdi işlevini kullanmanızı öneririz.
Eğer (ve yeni DateTime sınıfının olmadan) elle yapmak istiyorsanız, bu gibi görünebilir:
<?php
$date1 = strtotime("2009-11-11");
$date2 = strtotime("2002-11-11");
$time_difference = $date1 - $date2;
$seconds_per_year = 60*60*24*365;
$years = round($time_difference / $seconds_per_year);
print_r($years);