Bug #64241 [NEW]: ISO 8601 not implemented correctly

From: Date: Mon, 18 Feb 2013 23:19:16 +0000
Subject: Bug #64241 [NEW]: ISO 8601 not implemented correctly
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-177198@lists.php.net to get a copy of this message
From: florin dot asavoaie at gmail dot com Operating system: PHP version: 5.4.11 Package: XMLRPC-EPI related Bug Type: Bug Bug description:ISO 8601 not implemented correctly Description: ------------ ISO 8601 states the following: "If no UTC relation information is given with a time representation, the time is assumed to be in local time.". xmlrpc_decode and xmlrpc_decode_request functions do not conform with this standard because, when they decode the time that is formatted in ISO 8601 format and no timezone information is present, the time always gets converted to UTC, when it should actually be considered local time. Test script: --------------- <?php $xml1 = '<value><dateTime.iso8601>20120810T12:03:12</dateTime.iso8601></value>'; $xml2 = '<value><dateTime.iso8601>20120810T12:03:12+02:00</dateTime.iso8601></value>'; $xml3 = '<value><dateTime.iso8601>20120810T12:03:12Z</dateTime.iso8601></value>'; echo date ('c', time ()) . PHP_EOL; $date1 = xmlrpc_decode ($xml1); $date2 = xmlrpc_decode ($xml2); $date3 = xmlrpc_decode ($xml3); var_dump ($date1, $date2, $date3); Expected result: ---------------- 2013-02-19T01:04:17+02:00 object(stdClass)#1 (3) { ["scalar"]=> string(17) "20120810T12:03:12" ["xmlrpc_type"]=> string(8) "datetime" ["timestamp"]=> int(1344592992) } object(stdClass)#2 (3) { ["scalar"]=> string(23) "20120810T12:03:12+02:00" ["xmlrpc_type"]=> string(8) "datetime" ["timestamp"]=> int(1344592992) } object(stdClass)#3 (3) { ["scalar"]=> string(18) "20120810T12:03:12Z" ["xmlrpc_type"]=> string(8) "datetime" ["timestamp"]=> int(1344600192) } Actual result: -------------- 2013-02-19T01:04:17+02:00 object(stdClass)#1 (3) { ["scalar"]=> string(17) "20120810T12:03:12" ["xmlrpc_type"]=> string(8) "datetime" ["timestamp"]=> int(1344600192) } object(stdClass)#2 (3) { ["scalar"]=> string(23) "20120810T12:03:12+02:00" ["xmlrpc_type"]=> string(8) "datetime" ["timestamp"]=> int(1344592992) } object(stdClass)#3 (3) { ["scalar"]=> string(18) "20120810T12:03:12Z" ["xmlrpc_type"]=> string(8) "datetime" ["timestamp"]=> int(1344600192) } -- Edit bug report at https://bugs.php.net/bug.php?id=64241&edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=64241&r=trysnapshot54 Try a snapshot (PHP 5.3): https://bugs.php.net/fix.php?id=64241&r=trysnapshot53 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=64241&r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=64241&r=fixed Fixed in release: https://bugs.php.net/fix.php?id=64241&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=64241&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=64241&r=needscript Try newer version: https://bugs.php.net/fix.php?id=64241&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=64241&r=support Expected behavior: https://bugs.php.net/fix.php?id=64241&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=64241&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=64241&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=64241&r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=64241&r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=64241&r=dst IIS Stability: https://bugs.php.net/fix.php?id=64241&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=64241&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=64241&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=64241&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=64241&r=mysqlcfg

« previous php.bugs (#177198) next »