ID: 27737 Updated by: [EMAIL PROTECTED] Reported By: m dot konings at knowmany dot nl -Status: Open +Status: Closed Bug Type: Date/time related Operating System: Windows PHP Version: 4.3.5 New Comment:
We did some fixes regarding this problem, but we're not totally sure if the current fix is always correct. Please test PHP4.3.6RC1 when it's out (takes a couple of weeks) to see if it still works for you after we made the other changes. Previous Comments: ------------------------------------------------------------------------ [2004-03-27 16:30:41] m dot konings at knowmany dot nl The Windows STABLE CVS snapshot does not have this problem! Does this mean it will be solved (automatically) in a next version? ------------------------------------------------------------------------ [2004-03-27 16:16:25] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php4-STABLE-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-STABLE-latest.zip ------------------------------------------------------------------------ [2004-03-27 14:40:24] m dot konings at knowmany dot nl 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 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=27737&edit=1
