Hi,
I recently did a website for a client of mine who just had his first child. He wanted me to build the website as a present for his wife so they could track his steps as a baby. Anyways, at the top of the site I have a code for his current age. For some reason it should be at 60 days or 1 month 30 days but it jumped up to 2 months and 31 days. I don't know what I did wrong, www.alexanderdenny.com/home.php if you want to see what I mean.
If someone could please take a look at the code I used and let me know what's wrong with it I would really appreciate it...
<?
function elapsed($year, $month, $day, $hour, $minute) {
$todayMonth = date(n);
$todayDay = date(j);
$todayHour = date(G);
$todayMinute = date(i);
$monthday = date(nj);
$link = $month.$day;
$datepoint = $link;
$curAge = "";
if ($monthday < $datepoint) $years = date(Y) - $year - 1;
else $years = date(Y) - $year;
if ($years < 1) $yearWord = '';
elseif ($years == 1) $yearWord = 'YEAR';
elseif ($years > 1) $yearWord = 'YEAR(S)';
if ($todayMonth > $month) {
if ($todayDay < $day) $months = $todayMonth - $month -1;
else $months = $todayMonth - $month;
} else {
$between = $month - $todayMonth;
$plus = 12 - $month;
if ($todayDay < $day) $months = $month + $plus - $between -1;
else $months = $month + $plus - $between;
}
if ($months == 1) $monthWord = 'MONTH';
elseif ($months > 1) $monthWord = 'MONTH(S)';
if ($todayDay > $day) {
if ($todayHour < $hour) $days = $todayDay - $day -1;
else $days = $todayDay - $day;
} else {
$between = $day - $todayDay;
$daysToEndOfMonth = date(t) - $day;
if (date(t) == 28) $plus = $daysToEndOfMonth;
if (date(t) == 29) $plus = $daysToEndOfMonth;
if (date(t) == 30) $plus = $daysToEndOfMonth;
if (date(t) == 31) $plus = $daysToEndOfMonth;
if ($todayHour < $hour) $days = $day + $plus - $between - 1;
else $days = $day + $plus - $between;
}
if ($days == 1) $dayWord = 'DAY';
else $dayWord = 'DAY(S)';
if ($todayHour > $hour) {
if ($todayMinute < $minute) $hours = $todayHour - $hour - 1;
else $hours = $todayHour - $hour;
} else {
$between = $hour - $todayHour;
$plus = 24 - $hour;
if ($todayMinute < $minute) $hours = $hour + $plus - $between - 1;
else $hours = $hour + $plus - $between;
}
if ($hours == 1) $hourWord = 'hour,';
if ($hours > 1) $hourWord = 'hours,';
if ($todayMinute > $minute) {
$minutes = $todayMinute - $minute;
} else {
$between = $minute - $todayMinute;
$plus = 60 - $minute;
$minutes = $minute + $plus - $between;
}
if ($minutes == 60) $minutes = 0;
if ($minutes == 1) $minuteWord = 'minute';
elseif ($minutes > 1) $minuteWord = 'minutes';
if ($years == 0) { $years = '0'; $yearWord = 'YEAR(S)'; }
if ($months == 0) { $months = '0'; $monthWord = 'MONTH(S)'; }
if ($days == 0) { $days = '0'; $dayWord = 'DAY(S)'; }
if ($hours == 0) { $hours = ''; $hourWord = ''; }
if ($minutes == 0) { $minutes = ''; $minuteWord = ''; }
echo '&yr='.$years.' '.$yearWord.'&mn='.$months.' '.$monthWord.'&day='.$days.' '.$dayWord.'';
}
elapsed(2005,1,30,0,00);
?>
Thanks in advance!