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

From: Date: Wed, 10 Jan 2001 06:49:18 +0000
Subject: PHP 4.0 Bug #8242 Updated: 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-43637@lists.php.net to get a copy of this message
ID: 8242 Updated by: david Reported By: boian@bonev.com Old-Status: Open Status: Closed Bug Type: Date/time related Assigned To: Comments: fixed with: while (beat < 0) { beat += 1000; } beat = beat % 1000; Swatch Internet Time is very, very sad. Previous Comments: --------------------------------------------------------------------------- [2000-12-13 18:59:39] boian@bonev.com 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; --------------------------------------------------------------------------- Full Bug description available at: http://bugs.php.net/?id=8242

« previous php.dev (#43637) next »