Php DateTime::diff-如何获取周数?
在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'); 如果我要得到“月”计数,它是有效的,但我想在把它变成一个月
$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';
}