Comparing mysql dates in php

Solution:
If possible I would let the database return the number of days, with a query like this:
SELECT jobfinishdate, datediff(jobfinishdate, NOW() AS days) FROM table
Then use this number of days:
while ($row = mysql_fetch_array($result)){
$jobfinishdate = $row['jobfinishdate'];
$days = $row['days'];
if ($days > 0) {
$jobfinishdate .= " - Not due yet! $days until deadline" ;
} elseif ($days < 0) {
$jobfinishdate .= " - You didn't meet this deadline!";
} else {
$jobfinishdate .= " - Deadline is TODAY!";
}
}
Some other remarks:
- If you keep the date calculation in PHP, move the $date declaration outside the while loop because you only need to do that once.
- you can remove the last condition, if ($jobfinishdate==$date). If the date is not larger and not smaller, it can only be equal.
Answer
Solution:
$days = (strtotime($jobfinishdate) - strtotime($date)) / (60 * 60 * 24);
Should get you the amount of days left on the deadline.
Edit: The above will always return the difference in days - to handle whether or not its before or beyond the due date, maybe (using justtime()
as Adam suggested):
$date_passed = false;
$days = strtotime($jobfinishdate) - time();
if ($days < 0) { $date_passed = true; }
$days = $days / (60 * 60 * 24);
if (!$date_passed)
{
echo "You have $days days left on this project.";
}
else
{
echo "Deadline has expired $days days ago.";
}
Answer
Solution:
// calculate days left
$daysleft = round( ( strtotime( $jobfinishdate ) - time() ) / 86400 );
// print out text for $daysleft
if( $daysleft == 0 )
print( "Deadline is today!" );
else if ( $daysleft > 0 )
printf( "You have %d days until deadline.", $daysleft );
else
print( "You did not meet the deadline!" );
Answer
Solution:
In SQL query:
SELECT
...,
TIMESTAMPDIFF(DAY, NOW(), `date_deadline`) AS days_to_deadline
...
This will produce positive number of days due deadline and negative for expired tasks.
Share solution ↓
Additional Information:
Link To Answer People are also looking for solutions of the problem: illuminate\http\exceptions\posttoolargeexception
Didn't find the answer?
Our community is visited by hundreds of web development professionals every day. Ask your question and get a quick answer for free.
Similar questions
Find the answer in similar questions on our website.
Write quick answer
Do you know the answer to this question? Write a quick response to it. With your help, we will make our community stronger.