ID: 39649 Updated by: [EMAIL PROTECTED] Reported By: jdwhale at telkomsa dot net -Status: Feedback +Status: Bogus Bug Type: Date/time related Operating System: Windows XP Pro PHP Version: 4.4.4 New Comment:
Sorry, but your problem does not imply a bug in PHP itself. For a list of more appropriate places to ask for help using PHP, please visit http://www.php.net/support.php as this bug system is not the appropriate forum for asking support questions. Due to the volume of reports we can not explain in detail here why your report is not a bug. The support channels will be able to provide an explanation for you. Thank you for your interest in PHP. Previous Comments: ------------------------------------------------------------------------ [2006-11-27 23:10:19] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://snaps.php.net/win32/php5.2-win32-latest.zip ------------------------------------------------------------------------ [2006-11-27 18:34:17] jdwhale at telkomsa dot net Description: ------------ This issue seems to be closely related to bug 36367. While the gmdate function returns correctly, the gmmktime function returns an incorrect timestamp - the "offset" from localtime to GMT being in the wrong direction. I am running Apache 2.0.59 in South Africa (GMT +0200). If I am 2 hours later than GMT, then the GMT timestamp equivalent to my local time must surely be less by 7200 - not more. Reproduce code: --------------- <?php $time1=mktime(15,0,0,1,15,2006); $time1a=date("Y-m-d,H:i", mktime(15,0,0,1,15,2006)); echo $time1a."<br />"; //displays 2006-01-15,15:00 (correct) $time2=gmmktime(15,0,0,1,15,2006); $time2a=gmdate("Y-m-d,H:i", mktime(15,0,0,1,15,2006)); echo $time2a."<br />"; //displays 2006-01-15,13:00 (correct) $hrsdiff=($time1-$time2)/3600; echo $hrsdiff."<br />"; //displays -2 (incorrect) echo $time1."<br />"; //displays 1137330000 (correct) echo $time2."<br />"; //displays 1137337200 (incorrect) $hr1=date("H",$time1); $hr2=date("H",$time2); echo $hr1."<br />"; //displays 15 (correct) echo $hr2; //displays 17 (incorrect) ?> Expected result: ---------------- If localtime is 2 hours later than GMT, $time2 should be 1137322800; $hrsdiff should be +2; $hr2 should be 13 Actual result: -------------- As shown in code comments ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=39649&edit=1