这可能是一个愚蠢的错误。但我仍然只在我的应用程序中得到这个。我无法识别问题。当我在PHPFiddle中尝试相同时,它工作正常。我的PHPFIddle代码如下:
<?php
$FirstDate = '2018-03-25';
$LastDate = '2018-03-31';
$endDate = strtotime($LastDate);
$startDate = strtotime($FirstDate);
$days = floor(($endDate - $startDate) / 86400 + 1);
$no_full_weeks = floor($days / 7);
$no_remaining_days = fmod($days, 7);
echo $days;
echo $no_full_weeks ;
echo $no_remaining_days;
?>
输出为7 1 0.
但我在我的应用程序中也这样做,但它将输出显示为
private function getWorkingDays($FirstDate,$LastDate,$holidays){
// i hard coded here for checking only these two dates
$FirstDate = '2018-03-25';
$LastDate = '2018-03-31';
$endDate = strtotime($LastDate);
$startDate = strtotime($FirstDate);
error_log("from".$FirstDate);
error_log("to".$LastDate);
$days = floor(($endDate - $startDate) / 86400 + 1);
error_log("days". $days );
$no_full_weeks = floor($days / 7);
$no_remaining_days = fmod($days, 7);
error_log("no_full_weeks". $no_full_weeks );
error_log("no_remaining_days".$no_remaining_days);
return $days;
}
输出
from 2018-03-25
to 2018-03-31
days 6
no_full_weeks 0
no_remaining_days 6
问题出现在这两个日期。游行至18日至24日。它工作正常。
答案 0 :(得分:-1)
添加到@JohnConde评论。你可以使用它并使用时间戳。
更容易使用 $date = new DateTime();
print $date->getTimestamp(); //prints something like 1522252715
返回当前日/月/年等。
您可以使用date();
来处理您希望输出的任何格式,例如2018-03-25
print date("y-m-d",$date->getTimestamp()); //prints out 2018-03-29