从 01-01-2009 到 02-23-2009
如何找出这几天之间有多少个星期日??
最佳答案
像这样的事情怎么样:
$date = strtotime('2009-01-01 next sunday');
$dateMax = strtotime('2009-02-23');
$nbr = 0;
while ($date < $dateMax) {
var_dump(date('Y-m-d', $date));
$nbr++;
$date += 7 * 24 * 3600;
}
var_dump($nbr);
你得到的输出是:
string '2009-01-04' (length=10)
string '2009-01-11' (length=10)
string '2009-01-18' (length=10)
string '2009-01-25' (length=10)
string '2009-02-01' (length=10)
string '2009-02-08' (length=10)
string '2009-02-15' (length=10)
string '2009-02-22' (length=10)
对于每个星期天的日期,以及:
int 8
星期日的个数
(我很快查了一下,好像那些日期确实是星期天)
这段代码的作用是:
- 首先,获取2009-01-01之后第一个星期日的日期
- 然后,只要当前日期在2009-02-23之前,就迭代
- 在每次迭代中,增加 7*24*3600 秒(每周 7 天,每天 24 小时,每小时 3600 秒)
注意:我已经更改了您的日期格式,使用 YYYY-MM-DD,而不是 DD-MM-YYY;这是通常使用的格式——因此,使用这个格式可能是个好主意,以确保 strtotime 正常工作。 (不确定它是否适合您的格式)
关于php - 从 2 个给定日期中找到多少个星期日?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1321668/