ID:               50392
 Updated by:       der...@php.net
 Reported By:      grodny at oneclick dot sk
-Status:           Closed
+Status:           Open
 Bug Type:         Date/time related
 Operating System: *
 PHP Version:      5.3.1
-Assigned To:      
+Assigned To:      derick
 New Comment:

Reopening as this bug was fixed incorrectly. It would treat "0010" as
"000010" which is not what it is meant to do. The test case didn't
properly test the values either.


Previous Comments:
------------------------------------------------------------------------

[2009-12-15 12:40:47] il...@php.net

This bug has been fixed in SVN.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.



------------------------------------------------------------------------

[2009-12-15 12:34:17] s...@php.net

Automatic comment from SVN on behalf of iliaa
Revision: http://svn.php.net/viewvc/?view=revision&revision=292162
Log: Fixed bu #50392    (date_create_from_format() enforces 6 digits for
'u' format character)

------------------------------------------------------------------------

[2009-12-06 12:11:07] der...@php.net

Hi,

I guess it's not really required, I'll have a look (in a bit).

Derick

------------------------------------------------------------------------

[2009-12-06 10:53:34] grodny at oneclick dot sk

Description:
------------
As a result of fixing bug #45554, 'u' format character now requires
exactly 6 digits of microsecond part during parsing.

Patch fragment:
...
if ((f = timelib_get_nr((char **) &ptr, 6)) == TIMELIB_UNSET || ptr -
tptr != 6) {
...

Is check for exactly 6 digits really necessary, while other format
characters are more benevolent about number of digits being parsed?


Reproduce code:
---------------
date_default_timezone_set('Europe/Bratislava');
var_dump(date_create_from_format('Y-m-d H:i:s.u', '2009-03-01
18:00:00.0'));

Expected result:
----------------
object(DateTime)#1 (3) {
  ["date"]=>
  string(19) "2009-03-01 18:00:00"
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(17) "Europe/Bratislava"
}


Actual result:
--------------
bool(false)


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=50392&edit=1

Reply via email to