Ben formatında sitemde doğum tarihleri var 12.01.1980.
$person_date (string) = Day.Month.Year
Kişinin bir eskilik eklemek istiyorum. Gibi "Currently 30 years" (2010-1980 = 30 yıl).
Ama sadece yıllık işlevini makin mükemmel bir sonuç veremez:
Kişi doğum tarihi 12.12.1980 ve geçerli tarih 01.01.2010 kişi 30 yaşındayım yok olduğunu ise. Bu bir 29 yıl ve bir ay.
Geçerli tarih karşılaştırılması ile both year, month and day doğum hedefleyen bir hesaplama olmalıdır:
0) tarihleri ayrıştırın.
Birth date (Day.Month.Year):
Day = $birth_day;
Month = $birth_month;
Year = $birth_year;
Current date (Day.Month.Year):
Day = $current_day;
Month = $current_month;
Year = $current_year;
1) yıl karşılaştırma, 2010-1980 = yazma "30" (let it be $total_year değişkeni)
(Doğum tarihi ay doğum, 12 ve 01 gibi güncel (cari ay daha> büyüktür) ise 2)), ay karşılaştırmak {$total_year değişken (30 bir yıl eksi do - 1 = 29)}. Eksi oldu yoksa, bu noktada hesaplamalar bitirmek. Else sonraki (3 adım) gidin.
3) else if (birth month < current month) { $total_year = $total_year (30); }
4) else if (birth month = current month) { $total_year = $total_year (30); }
ve (bu adımda) gün kontrol:
if(birth day = current day) { $total_year = $total_year; }
else if (birth day > current day) { $total_year = $total_year -1; }
else if (birth day < current day) { $total_year = $total_year; }
5) $ total_year echo;
Benim php bilgi size yardımcı olur umarım, iyi değil.
Teşekkürler.