我的想法在这个问题上似乎一片空白.
我必须写一些东西来弄清楚当今日/月组合适合的日期范围.
我有一定数量的日期范围,它们是:
$dateRanges = array(
1 => "16 January to 30 April",
2 => "1 May to 30 June",
3 => "1 July to 15 August",
4 => "16 August to 15 September",
5 => "15 September to 15 October",
6 => "16 October to 15 January"
);
Run Code Online (Sandbox Code Playgroud)
我想要返回的是当前日期适合的范围的数组键.
目前,通过我的头去这就是所有我是必须要建立一个大的if语句来看待当前date('j')和date('n')与匹配结果了.但肯定那很混乱而且效率不高?
任何更好的方法来解决这个问题的任何想法将不胜感激!
$today = time();
foreach ($dateRanges as $key => $range) {
list($start, $end) = explode(' to ', $range);
$start .= ' ' . date('Y'); // add 2011 to the string
$end .= ' ' . date('Y');
if ((strtotime($start) <= $today) && (strtotime($end) >= $today)) {
break;
}
}
Run Code Online (Sandbox Code Playgroud)
$ key将是匹配日期范围的索引,或null/false.
| 归档时间: |
|
| 查看次数: |
2416 次 |
| 最近记录: |