add(new \DateInterval('P6W')); /** @var CostUnit $costUnit */ foreach ($costUnitRepository->getCurrentEvents() as $costUnit) { $billingEnd = $costUnit['billing_deadline']; if ($billingEnd === null) { $billingEnd = \DateTime::createFromFormat('Y-m-d H:i:s', $billingResetEnd)->format('Y-m-d H:i:s'); new ChangeCostUnitDetailsCommand(new ChangeCostUnitDetailsRequest( CostUnit::where('id', $costUnit['id'])->first(), Amount::fromString($costUnit['distance_allowance']), $costUnit['mail_on_new'], $billingResetEnd ))->execute(); } $billingEndTime = \DateTime::createFromFormat('Y-m-d H:i:s', $billingEnd); $billingEndTime->setTime(0,0,0); $billingEndTime->add(new \DateInterval('P1D')); if ($billingEndTime < $now) { new ChangeCostUnitStateCommand( new ChangeCostUnitStateRequest( CostUnit::where('id', $costUnit['id'])->first(),false, false ) )->execute(); } } } }