From: [EMAIL PROTECTED] Operating system: Solaris 2.6 PHP version: 4.0.4pl1 PHP Bug Type: Date/time related Bug description: gmmktime is 1 hour off during standard time gmmktime is producing a timestamp 1 hour off when the timezone is standard time. If you compare a time() with gmmktime with current settings and a is_dst value NULL, the results will be one hour off. I used the following little script to prove this: <? print ("<PRE>"); print ("Time function = ".time ()); print ("\n"); print ("gmmktime = ".gmmktime (18,25,0,3,20,2001)); print ("\n"); print ("mktime = ".mktime(12,25,0,3,20,2001)); print ("\n"); print (gmmktime(7,0,0,4,1,2001)." ".mktime(1,0,0,4,1,2001)."\n"); print (gmmktime(8,0,0,4,1,2001)." ".mktime(3,0,0,4,1,2001)."\n"); ?> Currently, the US/Central timezone is -6 hours from GMT. I believe the problem is in ext/standard/datetime.c, line 186. Judging from the code, "timezone" seems to be a negative seconds value from GMT, probably of the standard timezone (TZ in standard). So if is_dst == 0, you don't want to add anything more. I think the like should say: gmadjust = -(is_dst ? timezone - 3600 : timezone ); And the comment about overcorrecting removed. My test script works if this line is changed. -- Edit Bug report at: http://bugs.php.net/?id=9878&edit=1 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]