我想计算两个日期之间的总天数。
注意:我不是在谈论两个日期之间的差异
我在谷歌和 Stack Overflow 上找到了很多答案。我在这里分享
$now = time(); // or your date as well
$your_date = strtotime("2018-06-01");
$datediff = $now - $your_date;
echo round($datediff / (60 * 60 * 24));
Run Code Online (Sandbox Code Playgroud)
输出为 9
$now = strtotime("2018-06-09");
$your_date = strtotime("2018-06-01");
$datediff = $now - $your_date;
echo $numberDays= round($datediff / (60 * 60 * 24));
Run Code Online (Sandbox Code Playgroud)
输出为8
$dStart = new DateTime('2018-06-01');
$dEnd = new DateTime('2018-06-09');
$dDiff = $dStart->diff($dEnd);
echo $dDiff->days;
Run Code Online (Sandbox Code Playgroud)
输出为8
$date1=date_create("2018-06-01");
$date2=date_create("2018-06-09");
$diff=date_diff($date1,$date2);
echo $diff->format("%a");
Run Code Online (Sandbox Code Playgroud)
输出为8
$startTimeStamp = strtotime("2018-06-01");
$endTimeStamp = strtotime("2018-06-09");
$timeDiff = abs($endTimeStamp - $startTimeStamp);
$numberDays = $timeDiff/86400; // 86400 seconds in one day
// and you might want to convert to integer
echo $numberDays = intval($numberDays);
Run Code Online (Sandbox Code Playgroud)
输出为8
对我来说正确的答案是第一个 9,因为它显示从 1 到 9 的总天数,而不是差异。
我只想知道如何获取计数,因为我不想使用 time() 因为它采用的是当前日期。
例如:如果我选择第一个日期 2018-05-01,第二个日期是 2018-05-31。所以总天数是 31 天,而不是 30 天。
示例:我正在做一个与工作日和工资相关的项目。所以员工会选择日期。例如。我是员工,在五月的最后一个月,我选择了日期 2018-05-01 和 2018-05-31,所以我必须显示总工作日。所以根据我工作 31 天的日期并使用上面的代码在这个问题中我得到了 30 天的时间。
希望你能理解我的问题。你能帮我解决这个问题吗?
你可以试试这个——
$dateOne = new DateTime("01-01-2018");
$dateTwo = new DateTime("09-06-2018");
echo $diff = $dateTwo->diff($dateOne)->format("%a");
Run Code Online (Sandbox Code Playgroud)
输出 - 159