假设我们有这样的时间间隔:
$interval = new \DateInterval('P1M');
有没有办法计算一年中会出现多少这样的间隔?我特意寻找区间划分[这样不起作用]:
$interval = new \DateInterval('P1M');
$year = new \DateInterval('P1Y');
$ans = $year/$interval; //returns false
答案:12
答案 0 :(得分:1)
你不能通过对象的简单数学运算来做到这一点,但循环和计数将起作用
$interval = new \DateInterval('P1M');
$now = new \DateTime();
$year = new \DateInterval('P1Y');
$nowYear = clone $now;
$nowYear->add($year);
$intervals = 0;
do {
$now->add($interval);
++$intervals;
} while ($now < $nowYear);
var_dump($intervals);