assertFalse( $dateTime->hasLocalTimeCorrection ); } public function testModifiedTimeWithPositiveLocalTimeOffset() { $dti = new DateTime( '2017-08-01 10:00:00+00:00' ); LocalTime::setLocalTimeOffset( 60 ); $dateTime = LocalTime::getLocalizedTime( $dti ); $this->assertTrue( $dateTime->hasLocalTimeCorrection ); $this->assertEquals( '2017-08-01 11:00:00', $dateTime->format( 'Y-m-d H:i:s' ) ); } public function testModifiedTimeWithNegativeLocalTimeOffset() { $dti = new DateTime( '2017-08-01 10:00:00+00:00' ); LocalTime::setLocalTimeOffset( -60 ); $dateTime = LocalTime::getLocalizedTime( $dti ); $this->assertTrue( $dateTime->hasLocalTimeCorrection ); $this->assertEquals( '2017-08-01 09:00:00', $dateTime->format( 'Y-m-d H:i:s' ) ); } public function testModifiedTimeWithUserTimeCorrection() { $dti = new DateTime( '2017-08-01 10:00:00+00:00' ); LocalTime::setLocalTimeOffset( 0 ); $dateTime = LocalTime::getLocalizedTime( $dti, 'ZoneInfo|+120|Europe/Berlin' ); $this->assertTrue( $dateTime->hasLocalTimeCorrection ); $this->assertEquals( '2017-08-01 12:00:00', $dateTime->format( 'Y-m-d H:i:s' ) ); } public function testModifiedTimeWithUserTimeCorrectionOnInvalidZone() { $dti = new DateTime( '2017-08-01 10:00:00+00:00' ); $dateTime = LocalTime::getLocalizedTime( $dti, 'ZoneInfo|+125|Foo' ); $this->assertTrue( $dateTime->hasLocalTimeCorrection ); $this->assertEquals( '2017-08-01 12:05:00', $dateTime->format( 'Y-m-d H:i:s' ) ); } }