Bug #78758 [Nab]: DateTime format result is incorrect

From: Date: Tue, 29 Oct 2019 07:54:04 +0000
Subject: Bug #78758 [Nab]: DateTime format result is incorrect
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-223498@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=78758&edit=1 ID: 78758 User updated by: checgg at gmail dot com Reported by: checgg at gmail dot com Summary: DateTime format result is incorrect Status: Not a bug Type: Bug Package: Date/time related Operating System: Any PHP Version: 7.1.33 Block user comment: N Private report: N New Comment: What is the I means ? the result is : ``` string(21) "2019-10-27 02:55:00 1" string(21) "2019-10-27 02:55:00 0" ``` '2019-10-27 08:55:00' transfer to "2019-10-27 02:55:00" is incorrect. correct result should be "2019-10-27 01:55:00" ? Previous Comments: ------------------------------------------------------------------------ [2019-10-29 07:42:12] requinix@php.net https://3v4l.org/C1IJG ------------------------------------------------------------------------ [2019-10-29 07:30:46] checgg at gmail dot com Description: ------------ var_dump(test('2019-10-27 08:55:00'));//result is 2019-10-27 02:55:00 var_dump(test('2019-10-27 09:55:00'));//result is also 2019-10-27 02:55:00 It`s incorrect. Test script: --------------- <?php ini_set('date.timezone', 'Asia/Shanghai'); var_dump(test('2019-10-27 08:55:00'));//result is 2019-10-27 02:55:00 var_dump(test('2019-10-27 09:55:00'));//result is also 2019-10-27 02:55:00 function test($testDate) { $format = 'Y-m-d H:i:s'; $timezone = 'Europe/Paris'; // if ($timezone == 'Europe/Paris') { // return date($format, strtotime($testDate) - 7 * 3600); // } $date = new DateTime($testDate); $date->setTimezone(new DateTimeZone($timezone)); return $date->format($format); } Expected result: ---------------- var_dump(test('2019-10-27 08:55:00'));//result is 2019-10-27 01:55:00 var_dump(test('2019-10-27 09:55:00'));//result is also 2019-10-27 02:55:00 It`s correct. Actual result: -------------- var_dump(test('2019-10-27 08:55:00'));//result is 2019-10-27 02:55:00 var_dump(test('2019-10-27 09:55:00'));//result is also 2019-10-27 02:55:00 It`s incorrect. ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=78758&edit=1

« previous php.bugs (#223498) next »