|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2004-03-27 16:16 UTC] derick@php.net
[2004-03-27 16:30 UTC] m dot konings at knowmany dot nl
[2004-03-27 16:34 UTC] derick@php.net
[2004-03-28 11:26 UTC] rasmus@php.net
[2004-07-13 15:10 UTC] www dot carlos at bol dot com dot br
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Nov 01 00:00:01 2025 UTC |
Description: ------------ When iterating through a date value, day by day, I use the following code a lot: $cur_date = mktime(0, 0, 0, date('m', $cur_date), date('d', $cur_date)+1, date('Y', $cur_date)); This used to work perfectly on PHP 4.3.4. But with 4.3.5 this call keeps returning 27-3-2004 as soon as it hits this date. I guest this has something to do with Daylight Saving Time. When you change to call to: $cur_date = mktime(1, 0, 0, date('m', $cur_date), date('d', $cur_date)+1, date('Y', $cur_date)); It actually works fine, so it turns out that 00:00:00 @ 28-3-2004 is treated as 27-3-2004. Reproduce code: --------------- <? $cur_date = mktime(0, 0, 0, 3, 1, 2004); while($dummy++ < 31) { echo date('d-m-Y', $cur_date)."<br>\n"; $cur_date = mktime(0, 0, 0, date('m', $cur_date), date('d', $cur_date)+1, date('Y', $cur_date)); } Expected result: ---------------- I expected to see the next list (as it worked on 4.3.4): 20-03-2004 21-03-2004 22-03-2004 23-03-2004 24-03-2004 25-03-2004 26-03-2004 27-03-2004 28-03-2004 29-03-2004 Actual result: -------------- But I actually saw this: 20-03-2004 21-03-2004 22-03-2004 23-03-2004 24-03-2004 25-03-2004 26-03-2004 27-03-2004 27-03-2004 27-03-2004