PHP 4.0 Bug #8242: the date('B') gives bogus output when system date is Thu Dec 14 01:56:02 EET 20

From: Date: Wed, 13 Dec 2000 23:59:39 +0000
Subject: PHP 4.0 Bug #8242: the date('B') gives bogus output when system date is Thu Dec 14 01:56:02 EET 20
Groups: php.dev 
Request: Send a blank email to php-dev+get-41263@lists.php.net to get a copy of this message
From: boian@bonev.com Operating system: Linux glibc 2.1 PHP version: 4.0.3pl1 PHP Bug Type: Date/time related Bug description: the date('B') gives bogus output when system date is Thu Dec 14 01:56:02 EET 20 Sometimes in tzones GMT+something the calculation below can give negative or time greater than 1000 the fix just checks both cases since timezone cannot add more than a day (or less respectively) or in other terms 1000 swatch beats case 'B': /* Swatch Beat a.k.a. Internet Time */ beat = (((((long)the_time)-(((long)the_time) - ((((long)the_time) % 86400) + 3600))) * 10) / 864); -- the fix -- if (beat < 0) beat += 1000; if (beat > 999) beat -= 1000; -- end fix -- sprintf(tmp_buff, "%03d", beat); /* SAFE */ strcat(return_value->value.str.val, tmp_buff); break; -- Edit Bug report at: http://bugs.php.net/?id=8242&edit=1

« previous php.dev (#41263) next »