0

例子:

$difference = strtotime($to) - strtotime($from);
$months = ($difference / 86400 / 30 );

问题:但是这样我永远不会得到精确的平均值。因为我不能确定 30 天也可以有 31 天和 28 天的月份。

即使我试图除以 12 个月的平均值,但这也不能在每个月的选择案例中工作,先阅读并根据你自己的变化

4

2 回答 2

0

您可以使用此函数获取某年某月某月的天数:

PHP 手册 - cal_days_in_month

例如,您可以使用以下解决方案获取全年的天数:

查找一年中的总天数

此外,如果您只想获取当前月份的天数,可以使用以下命令:

date("t");
于 2013-08-28T12:03:17.783 回答
0

您是否在日期范围内的月数之后?如果是这样,您可以修改此先前的答案以处理您想要的内容:

PHP:循环遍历日期范围内的所有月份?

对于我认为你所追求的,你会做这样的事情

$date_from = strtotime("2013-08-01");
$date_to = strtotime("2013-10-01");

$month_count = 0;
while ($date_from < $date_to) {
  $date_from = strtotime('+1 month', $date_from);
  $month_count++;
}

// month_count = number of months covered in the date range

或者,如果您只是在查找日期范围内的天数,您可以执行以下操作:

$date_from = strtotime("2013-08-01");
$date_to = strtotime("2013-08-28");
$diff = $date_to - $date_from;
$days_in_range = floor($diff / (60*60*24));

//days_in_range = 27

不完全确定您的问题是什么。

于 2013-08-28T12:12:58.067 回答