benmay.org Posted October 10, 2008 Share Posted October 10, 2008 This part of an application has been driving me round in circles for AGES... Starting to loose it Basically, I pull from DB a date of when something happened.. I need to establish if that date is or over 30 days ago... Here is what I have but results keep fluctuating and I don't think it's correct.. $StoredDate = "$year-$month-$date"; $StoredDate = strtotime($StoredDate); $nowDate = date("Y-m-d"); $shift = "-30 days"; $CompareDate = sql_date_shift($nowDate, $shift); $CompareDate = strtotime($CompareDate); if($CompareDate > $StoredDate) { $RequireModule = true; } //// Functions function sql_date_shift($date, $shift) { return date("Y-m-d H:i:s" , strtotime($shift, strtotime($date))); } Quote Link to comment Share on other sites More sharing options...
xtopolis Posted October 10, 2008 Share Posted October 10, 2008 Will it work for you to have mysql do the work instead by only pulling something older than 30 days? .. "WHERE date_column < DATE_SUB(CURDATE(), INTERVAL 30 DAY)"; If it needs to be a php solution, let us know. should work now Quote Link to comment Share on other sites More sharing options...
corbin Posted October 10, 2008 Share Posted October 10, 2008 if($time1 - $time2 >= 30*24*60*60) { //been 30 days } time1/2 being unix timestamps, and time1 being > time2. Quote Link to comment Share on other sites More sharing options...
Barand Posted October 10, 2008 Share Posted October 10, 2008 or get the age in days from the db SELECT DATEDIFF(CURDATE(), date_column) as ageInDays ... Quote Link to comment 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.