diff --git a/src/Symfony/Component/Scheduler/Tests/Trigger/PeriodicalTriggerTest.php b/src/Symfony/Component/Scheduler/Tests/Trigger/PeriodicalTriggerTest.php index e8dc8f49f735a..2e2df0fd9bc1d 100644 --- a/src/Symfony/Component/Scheduler/Tests/Trigger/PeriodicalTriggerTest.php +++ b/src/Symfony/Component/Scheduler/Tests/Trigger/PeriodicalTriggerTest.php @@ -23,9 +23,9 @@ class PeriodicalTriggerTest extends TestCase */ public function testConstructor(PeriodicalTrigger $trigger, bool $optimizable = true) { - $run = new \DateTimeImmutable('2922-02-22 13:34:00+00:00'); + $run = new \DateTimeImmutable('2922-02-22 12:34:00+00:00'); - $this->assertSame('2922-02-23 13:34:00+00:00', $trigger->getNextRunDate($run)->format('Y-m-d H:i:sP')); + $this->assertSame('2922-02-23 13:34:00+01:00', $trigger->getNextRunDate($run)->format('Y-m-d H:i:sP')); if ($optimizable) { // test that we are using the fast algorithm for short period of time @@ -37,7 +37,7 @@ public function testConstructor(PeriodicalTrigger $trigger, bool $optimizable = public static function provideForConstructor(): iterable { - $from = new \DateTimeImmutable($now = '2022-02-22 13:34:00+00:00'); + $from = new \DateTimeImmutable($now = '2022-02-22 13:34:00+01:00'); $until = new \DateTimeImmutable($farFuture = '3000-01-01'); yield [new PeriodicalTrigger(86400, $from, $until)]; diff --git a/src/Symfony/Component/Scheduler/Trigger/PeriodicalTrigger.php b/src/Symfony/Component/Scheduler/Trigger/PeriodicalTrigger.php index b7241c5c35be8..5115eb198ce84 100644 --- a/src/Symfony/Component/Scheduler/Trigger/PeriodicalTrigger.php +++ b/src/Symfony/Component/Scheduler/Trigger/PeriodicalTrigger.php @@ -97,7 +97,7 @@ public function getNextRunDate(\DateTimeImmutable $run): ?\DateTimeImmutable $delta = $run->format('U.u') - $from; $recurrencesPassed = floor($delta / $this->intervalInSeconds); $nextRunTimestamp = sprintf('%.6F', ($recurrencesPassed + 1) * $this->intervalInSeconds + $from); - $nextRun = \DateTimeImmutable::createFromFormat('U.u', $nextRunTimestamp, $fromDate->getTimezone()); + $nextRun = \DateTimeImmutable::createFromFormat('U.u', $nextRunTimestamp)->setTimezone($fromDate->getTimezone()); if ($this->from > $nextRun) { return $this->from;
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: