#43113 [Opn->Bgs]: Date problem -
| From: | derick@php.net | Date: | Sat, 27 Oct 2007 10:14:54 +0000 |
| Subject: | #43113 [Opn->Bgs]: Date problem - | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-118996@lists.php.net to get a copy of this message | ||
ID: 43113
Updated by: derick@php.net
Reported By: anderson at berkeleypim dot com dot br
-Status: Open
+Status: Bogus
Bug Type: *General Issues
Operating System: linux
PHP Version: 5.2.4
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:
------------------------------------------------------------------------
[2007-10-27 00:00:41] anderson at berkeleypim dot com dot br
Description:
------------
Problem in ADD day a date
Reproduce code:
---------------
<? $data_inicio = '2007-10-23';
$data_fim='2007-11-08';$data_fim1='2007-10-23'; $i=0;
while ($data_fim1 <= $data_fim)
{ $i=$i+1; $data_fim1 = soma_dia($data_inicio,$i);
echo "<br>".$data_inicio." d=".$data_fim1." i=".$i;
}
function soma_dia($this_date,$num_days){
$my_time = strtotime ($this_date); //converts date string to UNIX
timestamp
$timestamp = $my_time + ($num_days * 86400); //calculates # of
days passed ($num_days) * # seconds in a day (86400)
$return_date = date("Y-m-d",$timestamp); //puts the UNIX
timestamp back into string format
return $return_date;//exit function and return string
}
?>
Expected result:
----------------
2007-10-23 d=2007-10-24 i=1
2007-10-23 d=2007-10-25 i=2
2007-10-23 d=2007-10-26 i=3
2007-10-23 d=2007-10-27 i=4
2007-10-23 d=2007-10-28 i=5
2007-10-23 d=2007-10-29 i=6
2007-10-23 d=2007-10-30 i=7
2007-10-23 d=2007-10-31 i=8
2007-10-23 d=2007-11-01 i=9
2007-10-23 d=2007-11-02 i=10
2007-10-23 d=2007-11-03 i=11
2007-10-23 d=2007-11-04 i=12 ***************************
2007-10-23 d=2007-11-05 i=13 ****** SAME - IS IMPOSSIBLE)
2007-10-23 d=2007-11-06 i=14
2007-10-23 d=2007-11-07 i=15
2007-10-23 d=2007-11-08 i=16
2007-10-23 d=2007-11-09 i=17
2007-10-23 d=2007-11-10 i=18
OK - runing at HOSTGATOR.COM at 21:37 brazil timezone.
Actual result:
--------------
2007-10-23 d=2007-10-24 i=1
2007-10-23 d=2007-10-25 i=2
2007-10-23 d=2007-10-26 i=3
2007-10-23 d=2007-10-27 i=4
2007-10-23 d=2007-10-28 i=5
2007-10-23 d=2007-10-29 i=6
2007-10-23 d=2007-10-30 i=7
2007-10-23 d=2007-10-31 i=8
2007-10-23 d=2007-11-01 i=9
2007-10-23 d=2007-11-02 i=10
2007-10-23 d=2007-11-03 i=11
2007-10-23 d=2007-11-04 i=12 ***************************
2007-10-23 d=2007-11-04 i=13 ** SAME - IS IMPOSSIBLE) Look a date
2007-10-23 d=2007-11-05 i=14
2007-10-23 d=2007-11-06 i=15
2007-10-23 d=2007-11-07 i=16
2007-10-23 d=2007-11-08 i=17
2007-10-23 d=2007-11-09 i=18
OK - runing at HOSTGATOR.COM at 21:37 brazil timezone.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=43113&edit=1