Shouldn't be too difficult in PHP. <?php $yesterday = date("m/d/y", mktime(0,0,0,date("m"), date("d") - 1, date("y"))); $today = date("m/d/y"); $secondsdiff = strtotime($today) - strtotime($yesterday); $minutesdiff = $secondsdiff / 60; $hoursdiff = $minutesdiff / 60; $daysdiff = $hoursdiff / 24; echo "Seconds difference: $secondsdiff<br>\n"; echo "Minutes difference: $minutesdiff<br>\n"; echo "Hours difference: $hoursdiff<br>\n"; echo "Days difference: $daysdiff<br>\n"; ?> And if you want a larger example to play with, here's something I did a couple years ago (forgive the word wrapping and any unrefinedness.. it's something I whipped up as a test when someone asked a similar question back then). There's bound to be some way to do it in SQL as well, but unless there's a specific function for it like the other example given by another member, then you're likely to write a lot of really ugly SQL code to tackle the problem. Good luck! -TG <?php # Standard format dates and times $startdate = "04/12/04"; $starttime = "13:05:01"; $enddate = "10/14/04"; $endtime = "13:05:01"; # Break apart dates and times for mktime list($smonth,$sday,$syear) = explode("/",$startdate); list($emonth,$eday,$eyear) = explode("/",$enddate); list($shour,$sminute,$ssecond) = explode(":",$starttime); list($ehour,$eminute,$esecond) = explode(":",$endtime); # Number of seconds in each timeframe, 1 month = 30 days $secondsequiv array("Years"=>31536000,"Months"=>2592000,"Days"=>86400,"Hours"=>3600,"Minutes"=>60); # How many seconds between two dates/times $daydiff = mktime($ehour,$eminute,$esecond,$emonth,$eday,$eyear) - mktime($shour,$sminute,$ssecond,$smonth,$sday,$syear); if ($daydiff < 0) { $daydiff *= -1; $negative = TRUE; } # Just to make sure I didn't use $remainder somewhere else in my script and forgot if (isset($remainder)) unset($remainder); # Cycle through timeframes checking to see if number is large enough to be a full year/month/day/etc # If so, find out how many and store remainder for further processing # If not, set to zero and continue processing foreach ($secondsequiv as $timeframe=>$seconds) { if (isset($remainder)) { $checkvalue = $remainder; } else { $checkvalue = $daydiff; } if ($checkvalue >= $seconds) { $daydiffarr[$timeframe] = floor($checkvalue/$seconds); $remainder = $daydiff % $seconds; } else { $daydiffarr[$timeframe] = 0; } } # If $reminder is never used, then we're dealing with less than a minute's worth of time diff if (isset($remainder)) { $daydiffarr["Seconds"] = $remainder; } else { $daydiffarr["Seconds"] = $daydiff; } # Display results if ($negative) echo "NEGATIVE!!<br>\n"; foreach ($daydiffarr as $timeframe=>$count) { echo "$timeframe = $count<br>\n"; } ?> = = = Original message = = = Hi, I need to calculate no. of days between two dates, actually between date stored in DB and today's date. Does anybody has an example I can use? I found an example on http://www.developertutorials.com/tutorials/php/calculating-difference-between-dates-php-051018/page1.html but function gregoriantojd() doesn't work for me Fatal error: Call to undefined function: gregoriantojd() Found this: Please read the manual: http://www.php.net/manual/en/ref.calendar.php You need to either compile the extension in or load it. Since you provided no details about your situation at all, I cannot help you further. on http://bugs.php.net/bug.php?id=10151&edit=1 Thanks on any help. -afan ___________________________________________________________ Sent by ePrompter, the premier email notification software. Free download at http://www.ePrompter.com. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php