【发布时间】:2020-10-01 11:39:09
【问题描述】:
我想查找两个日期之间的特定天数。我需要一个适合未来使用的解决方案,我想在未来使用任何开始日期和结束日期。
我的代码
$start_date = new DateTime('2020/10/01');
$end_date = new DateTime('2020/10/31');
$days = array('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday');
$diff = $start_date->diff($end_date, true)->days;
foreach ($days as $key => $value) {
$number_of_days = intval($diff / 7) + ($start_date->format('N') + $diff % 7 >= $key+1);
$result[$value] = $number_of_days;
}
结果
Array
(
[Monday] => 5
[Tuesday] => 5
[Wednesday] => 5
[Thursday] => 5
[Friday] => 5
[Saturday] => 5
[Sunday] => 5
)
期待结果
Array
(
[Monday] => 4
[Tuesday] => 4
[Wednesday] => 4
[Thursday] => 5
[Friday] => 5
[Saturday] => 5
[Sunday] => 4
)
【问题讨论】:
-
“预期结果” - 为什么? 2020 年 11 月有 5 个周一和周日,所有其他日子出现 四次 次。
-
你的问题是什么?有什么东西不能使用给定的代码吗?你有什么努力让它发挥作用?
-
@04FS 有人编辑了我的问题,他改了月份,现在请检查日期
-
几乎完全相同 stackoverflow.com/q/15886166/2943403的副本
-
@mickmackusa 有一些不同