I am trying to write a function that can count the number of days between 2 dates. I currently have the below but it is giving me some unexpected results:
function dayCount($from, $to) {
$first_date = strtotime($from);
$second_date = strtotime($to);
$offset = $second_date-$first_date;
return floor($offset/60/60/24);
}
print dayCount($s, $e).' Days';
A couple of correct examples:
$s = '18-03-2016';
$e = '25-03-2016';
Outputs: 7 Days
- correct
$s = '03-02-2016';
$e = '06-02-2016';
Outputs: 3 Days
- correct
$s = '06-04-2016';
$e = '27-04-2016';
Outputs: 21 Days
- correct
But when I have dates that cross over between 2 months sometimes it is correct, sometimes it shows a day less:
$s = '25-03-2016';
$e = '01-04-2016';
Outputs: 6 Days
- should be 7 Days
$s = '23-02-2016';
$e = '01-03-2016';
Outputs: 7 Days
- correct