Skip to content

PHP 8.1 Timezone doesn't work as intended #8108

Closed
@Lenny4

Description

@Lenny4

Description

PHP 8.1 Timezone doesn't work as intended. offset is wrong in PHP 8.1.

Resulted in this output:

PHP 8.0

$timezone = 'Europe/Paris';
$timestamp = (new \DateTime('2022-02-16 00:00:00'))->getTimestamp();
$result = (new \DateTimeZone($timezone))->getTransitions($timestamp, $timestamp);
// $result['offset'] = 3600

PHP 8.1

$timezone = 'Europe/Paris';
$timestamp = (new \DateTime('2022-02-16 00:00:00'))->getTimestamp();
$result = (new \DateTimeZone($timezone))->getTransitions($timestamp, $timestamp);
// $result['offset'] = 7200

But I expected this output instead:

PHP 8.0

$timezone = 'Europe/Paris';
$timestamp = (new \DateTime('2022-02-16 00:00:00'))->getTimestamp();
$result = (new \DateTimeZone($timezone))->getTransitions($timestamp, $timestamp);
// $result['offset'] = 3600

PHP 8.1

$timezone = 'Europe/Paris';
$timestamp = (new \DateTime('2022-02-16 00:00:00'))->getTimestamp();
$result = (new \DateTimeZone($timezone))->getTransitions($timestamp, $timestamp);
// $result['offset'] = 3600

PHP Version

8.1

Operating System

Ubuntu 20.04.3 LTS

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions