milesap Posted April 7, 2009 Share Posted April 7, 2009 Hello, I'm fairly new to Zend Framework, so forgive me if this is a really easy question. I have been looking everywhere for a solution. I am trying to get the difference between the current date and a persons birthday to see how old they are. $date = new Zend_Date(); $date->sub('April 13, 1987'); print $date->toString('Y'); The following prints 28, however the correct age would be 29, as the persons birthday was a few days ago. Does it not take the month and day into account when it subs the date? Or a better question would be what am I doing wrong? I have set my default timezone correctly. Quote Link to comment https://forums.phpfreaks.com/topic/152921-zend_date-problems/ Share on other sites More sharing options...
PFMaBiSmAd Posted April 7, 2009 Share Posted April 7, 2009 Subtracting two dates is the not definition of the age of anything. See this post - http://www.phpfreaks.com/forums/index.php/topic,246453.msg1152105.html#msg1152105 Quote Link to comment https://forums.phpfreaks.com/topic/152921-zend_date-problems/#findComment-803127 Share on other sites More sharing options...
milesap Posted April 7, 2009 Author Share Posted April 7, 2009 I need to know how to tackle the problem using Zend_Date specifically, as I am learning that framework. In past projects I have used something similar: function playersAge($birthDate) { list($day, $month, $year) = explode("/", $birthDate); $age = date('Y') - $year; if (date('m') < $month) $age--; elseif (date('d') < $day) $age--; return $age; } Quote Link to comment https://forums.phpfreaks.com/topic/152921-zend_date-problems/#findComment-803152 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.