<?php
$dob = new DateTime('24 June 1940');
$now = new DateTime('23 June 2012');
echo year_diff($now, $dob)."\n";
$now = new DateTime('24 June 2012');
echo year_diff($now, $dob)."\n";
function year_diff($date1, $date2) {
list($year1, $dayOfYear1) = explode(' ', $date1->format('Y z')); list($year2, $dayOfYear2) = explode(' ', $date2->format('Y z')); return $year1 - $year2 - ($dayOfYear1 < $dayOfYear2);
}
PD9waHAKCiRkb2IgPSBuZXcgRGF0ZVRpbWUoJzI0IEp1bmUgMTk0MCcpOwokbm93ID0gbmV3IERhdGVUaW1lKCcyMyBKdW5lIDIwMTInKTsKZWNobyB5ZWFyX2RpZmYoJG5vdywgJGRvYikuIlxuIjsKJG5vdyA9IG5ldyBEYXRlVGltZSgnMjQgSnVuZSAyMDEyJyk7CmVjaG8geWVhcl9kaWZmKCRub3csICRkb2IpLiJcbiI7CgpmdW5jdGlvbiB5ZWFyX2RpZmYoJGRhdGUxLCAkZGF0ZTIpIHsKICAgIGxpc3QoJHllYXIxLCAkZGF5T2ZZZWFyMSkgPSBleHBsb2RlKCcgJywgJGRhdGUxLT5mb3JtYXQoJ1kgeicpKTsKICAgIGxpc3QoJHllYXIyLCAkZGF5T2ZZZWFyMikgPSBleHBsb2RlKCcgJywgJGRhdGUyLT5mb3JtYXQoJ1kgeicpKTsKICAgIHJldHVybiAkeWVhcjEgLSAkeWVhcjIgLSAoJGRheU9mWWVhcjEgPCAkZGF5T2ZZZWFyMik7Cn0K