在不使用PHP5.0的datetime对象的情况下,在两个日期之间获取每个星期五,星期六和星期日的简单方法是什么。
由于速度的原因,我不想在1/1到31/12之间遍历每个日期。 (作为结果视图的一部分,每页我必须计算至少50次:)。
答案 0 :(得分:14)
$start = strtotime("today"); // your start/end dates here
$end = strtotime("today + 1 years");
$friday = strtotime("friday", $start);
while($friday <= $end) {
echo "fri=", date("d m Y", $friday), "\n";
echo "sat=", date("d m Y", strtotime("+1 days", $friday)), "\n";
echo "sun=", date("d m Y", strtotime("+2 days", $friday)), "\n\n";
$friday = strtotime("+1 weeks", $friday);
}
肯定可以优化,但你明白了
答案 1 :(得分:3)
好消息是,您不必遍历每个日期,因为星期五总是在星期日五天之后到来!
无论如何,在2000AD到2050AD之间大约有18000天,这意味着你可以建立一个日期 - &gt; DayOfWeek映射会在几分钟内完成,您可以在接下来的几年内重复使用。