【问题标题】:PHP Date Range According to Today's Date根据今天日期的PHP日期范围
【发布时间】:2010-08-01 00:21:19
【问题描述】:

谁能想到一个更好的方法来循环写出这个并得到相同的结果?

$today = date('l');

    if($today == 'Wednesday'){
        $min = date('l-m-d-y');
        $max = date('l-m-d-y', strtotime('+4 days'));
    }else if($today == 'Thursday'){
        $min = date('l-m-d-y', strtotime('-1 days'));
        $max = date('l-m-d-y', strtotime('+3 days'));
    }else if($today == 'Friday'){
        $min = date('l-m-d-y', strtotime('-2 days'));
        $max = date('l-m-d-y', strtotime('+2 days'));
    }else if($today == 'Saturday'){
        $min = date('l-m-d-y', strtotime('-2 days'));
        $max = date('l-m-d-y', strtotime('+1 days'));
    }else if($today == 'Sunday'){
        $min = date('l-m-d-y', strtotime('-3 days'));
        $max = date('l-m-d-y');
    }

    echo $min . ' - ' . $max;

【问题讨论】:

  • 加/减天的目标是什么?
  • @Will 我会根据日期创建目录,其中包含与该日期相关的文件...例如 08_01_2010 将具有 file1.html 和 file2.html 而 08_02_2010 将具有 file3.html 和file4.html... 我需要允许的日期在特定的日期范围内。所以,如果是星期三,我需要搜索直到星期日的文件夹,如果是星期五,我需要搜索 BACK to Wednesday 和 UP to Sunday 等...
  • Artefacto 似乎为此设计了一个神奇的解决方案。 :) 沿着同样的思路思考 - 计算所需的后退/前进天数,然后您就可以排序了。

标签: php date-range


【解决方案1】:

我假设您希望在星期六的最小值为 -3,而在星期日的最小值为 -4。无论如何,这是一个想法:

$weekday = date("w");
if ($weekday == 0)
    $weekday = 7;

if ($weekday >= 3) {
    $min = date('l-m-d-y',
        strtotime(($weekday==3?"+0":(3-$weekday))." days");
    $max = date('l-m-d-y',
        strtotime("+".(7-$weekday)." days");
}

【讨论】:

    【解决方案2】:

    可以将它存储在一个数组中,以天为键,+/-x 天为值。

    【讨论】:

      猜你喜欢
      • 2012-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多