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. 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 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; } Link to comment https://forums.phpfreaks.com/topic/152921-zend_date-problems/#findComment-803152 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.