Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php DateTime::diff-如何获取周数?_Php_Date_Date Difference - Fatal编程技术网

Php DateTime::diff-如何获取周数?

Php DateTime::diff-如何获取周数?,php,date,date-difference,Php,Date,Date Difference,在DateTime::diff函数中获取“周”时遇到问题 这是我的密码: $date1 = new DateTime("2017-05-14"); $date2 = new DateTime("2017-06-14"); $interval = $date1->diff($date2); echo $interval->m.' '.($interval->m > 1 ? 'months' : 'month'); 如果我要得到“月”计数,它是有效的,但我想在把它变成一个月

DateTime::diff函数中获取“周”时遇到问题

这是我的密码:

$date1 = new DateTime("2017-05-14");
$date2 = new DateTime("2017-06-14");
$interval = $date1->diff($date2);
echo $interval->m.' '.($interval->m > 1 ? 'months' : 'month');
如果我要得到“月”计数,它是有效的,但我想在把它变成一个月之前得到几周:


我们一个月有4周(准确地说是4.34524,来自Google Unit Converter),如果开始日期和今天的日期之间的差异超过4周,它应该输出“1个月”,以此类推。

计算天数,然后除以7表示一周。 请尝试以下代码:

$date1 = new DateTime("2017-05-14");
$date2 = new DateTime("2017-06-14");
$interval = $date1->diff($date2);


  $week = floor($date1->diff($date2)->days/7);
  echo $week;
  if($week > 4)
  {
      echo $interval->m.' '.($interval->m > 1 ? 'months' : 'month');
  }
代码():


您可以这样做以获得周数,然后创造条件:

$daysInAweek = 7;
$weeks = ($interval->days)/$daysInAweek;
if($weeks >= 4) {
  echo 'is a month';
}

因为一周有7天。

你可以从
diff()返回的日期间隔中得到天(
d
),也许只需乘以7就可以得到周?工作!谢谢你的密码。我只是修改了一些东西。
$daysInAweek = 7;
$weeks = ($interval->days)/$daysInAweek;
if($weeks >= 4) {
  echo 'is a month';
}