#49659 [Bgs]: Error date add
ID: 49659
User updated by: xvilamanya at gmail dot com
Reported By: xvilamanya at gmail dot com
Status: Bogus
Bug Type: Date/time related
Operating System: *
PHP Version: 5.2.9
New Comment:
Thanks,
but any version correct the DST error in mktime/date?
Thanks in advance!
Previous Comments:
------------------------------------------------------------------------
[2009-09-24 15:18:49] jani@php.net
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.
------------------------------------------------------------------------
[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
Thread (3 messages)