ID: 49659 Updated by: [email protected] Reported By: xvilamanya at gmail dot com -Status: Open +Status: Bogus Bug Type: Date/time related Operating System: * PHP Version: 5.2.9 New Comment:
We are happy to tell you that you just discovered Daylight Savings Time. For more information see: http://webexhibits.org/daylightsaving/b.html Instead of using mktime/date consider using gmmktime and gmdate which do not suffer from DST. Previous Comments: ------------------------------------------------------------------------ [2009-09-24 13:58:01] xvilamanya at gmail dot com Description: ------------ When I execute the next code, from 18th till 25th of October'2009, the result is incorrect. I can't test under 5.2.11 version. My hosts providers want a bug php ticket to do it. the execute php is at: http://campusismet.es/dates2.php http://ismet.es/dates2.php http://vilamanya.com/dates2.php php_info at: http://campusismet.es/phpinfo.php http://ismet.es/phpinfo.php http://vilamanya.com/phpinfo.php Where is the error? Thanks in advance! Reproduce code: --------------- for ($i=1;$i<32;$i++) { $data_ant = '2009-10-'.strval($i); $dies = 7; list($ano,$mes,$dia) = split("-",$data_ant); $data_inici = date("Y-m-d", mktime(0,0,0, $mes,$dia,$ano) + $dies * 24 * 60 * 60); echo "Start Date: ".$data_ant." + 7 days = ".$data_inici."<br>"; } Expected result: ---------------- Start Date: 2009-10-1 + 7 days = 2009-10-08 Start Date: 2009-10-2 + 7 days = 2009-10-09 Start Date: 2009-10-3 + 7 days = 2009-10-10 Start Date: 2009-10-4 + 7 days = 2009-10-11 Start Date: 2009-10-5 + 7 days = 2009-10-12 Start Date: 2009-10-6 + 7 days = 2009-10-13 Start Date: 2009-10-7 + 7 days = 2009-10-14 Start Date: 2009-10-8 + 7 days = 2009-10-15 Start Date: 2009-10-9 + 7 days = 2009-10-16 Start Date: 2009-10-10 + 7 days = 2009-10-17 Start Date: 2009-10-11 + 7 days = 2009-10-18 Start Date: 2009-10-12 + 7 days = 2009-10-19 Start Date: 2009-10-13 + 7 days = 2009-10-20 Start Date: 2009-10-14 + 7 days = 2009-10-21 Start Date: 2009-10-15 + 7 days = 2009-10-22 Start Date: 2009-10-16 + 7 days = 2009-10-23 Start Date: 2009-10-17 + 7 days = 2009-10-24 Start Date: 2009-10-18 + 7 days = 2009-10-25 Start Date: 2009-10-19 + 7 days = 2009-10-26 Start Date: 2009-10-20 + 7 days = 2009-10-27 Start Date: 2009-10-21 + 7 days = 2009-10-28 Start Date: 2009-10-22 + 7 days = 2009-10-29 Start Date: 2009-10-23 + 7 days = 2009-10-30 Start Date: 2009-10-24 + 7 days = 2009-10-31 Start Date: 2009-10-25 + 7 days = 2009-10-01 Start Date: 2009-10-26 + 7 days = 2009-11-02 Start Date: 2009-10-27 + 7 days = 2009-11-03 Start Date: 2009-10-28 + 7 days = 2009-11-04 Start Date: 2009-10-29 + 7 days = 2009-11-05 Start Date: 2009-10-30 + 7 days = 2009-11-06 Start Date: 2009-10-31 + 7 days = 2009-11-07 Actual result: -------------- Start Date: 2009-10-1 + 7 days = 2009-10-08 Start Date: 2009-10-2 + 7 days = 2009-10-09 Start Date: 2009-10-3 + 7 days = 2009-10-10 Start Date: 2009-10-4 + 7 days = 2009-10-11 Start Date: 2009-10-5 + 7 days = 2009-10-12 Start Date: 2009-10-6 + 7 days = 2009-10-13 Start Date: 2009-10-7 + 7 days = 2009-10-14 Start Date: 2009-10-8 + 7 days = 2009-10-15 Start Date: 2009-10-9 + 7 days = 2009-10-16 Start Date: 2009-10-10 + 7 days = 2009-10-17 Start Date: 2009-10-11 + 7 days = 2009-10-18 Start Date: 2009-10-12 + 7 days = 2009-10-19 Start Date: 2009-10-13 + 7 days = 2009-10-20 Start Date: 2009-10-14 + 7 days = 2009-10-21 Start Date: 2009-10-15 + 7 days = 2009-10-22 Start Date: 2009-10-16 + 7 days = 2009-10-23 Start Date: 2009-10-17 + 7 days = 2009-10-24 Start Date: 2009-10-18 + 7 days = 2009-10-25 Start Date: 2009-10-19 + 7 days = 2009-10-25 Start Date: 2009-10-20 + 7 days = 2009-10-26 Start Date: 2009-10-21 + 7 days = 2009-10-27 Start Date: 2009-10-22 + 7 days = 2009-10-28 Start Date: 2009-10-23 + 7 days = 2009-10-29 Start Date: 2009-10-24 + 7 days = 2009-10-30 Start Date: 2009-10-25 + 7 days = 2009-10-31 Start Date: 2009-10-26 + 7 days = 2009-11-02 Start Date: 2009-10-27 + 7 days = 2009-11-03 Start Date: 2009-10-28 + 7 days = 2009-11-04 Start Date: 2009-10-29 + 7 days = 2009-11-05 Start Date: 2009-10-30 + 7 days = 2009-11-06 Start Date: 2009-10-31 + 7 days = 2009-11-07 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=49659&edit=1
