bug44996.phpt 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. --TEST--
  2. Bug #44996 (xmlrpc_decode() ignores time zone on iso8601.datetime)
  3. --SKIPIF--
  4. <?php if (!extension_loaded("xmlrpc")) print "skip"; ?>
  5. --FILE--
  6. <?php
  7. function DecodeDatetime($datetime) {
  8. print "\nISO 8601 datetime $datetime\n";
  9. $obj = xmlrpc_decode("<?xml version=\"1.0\"?><methodResponse><params><param><value><dateTime.iso8601>$datetime</dateTime.iso8601></value></param></params></methodResponse>");
  10. print_r($obj);
  11. }
  12. DecodeDatetime("20010909T01:46:40Z");
  13. DecodeDatetime("20010909T00:46:40-01");
  14. DecodeDatetime("2001-09-09T08:46:40+07:00");
  15. DecodeDatetime("2001-09-08T21:46:40-0400");
  16. ?>
  17. --EXPECT--
  18. ISO 8601 datetime 20010909T01:46:40Z
  19. stdClass Object
  20. (
  21. [scalar] => 20010909T01:46:40Z
  22. [xmlrpc_type] => datetime
  23. [timestamp] => 1000000000
  24. )
  25. ISO 8601 datetime 20010909T00:46:40-01
  26. stdClass Object
  27. (
  28. [scalar] => 20010909T00:46:40-01
  29. [xmlrpc_type] => datetime
  30. [timestamp] => 1000000000
  31. )
  32. ISO 8601 datetime 2001-09-09T08:46:40+07:00
  33. stdClass Object
  34. (
  35. [scalar] => 2001-09-09T08:46:40+07:00
  36. [xmlrpc_type] => datetime
  37. [timestamp] => 1000000000
  38. )
  39. ISO 8601 datetime 2001-09-08T21:46:40-0400
  40. stdClass Object
  41. (
  42. [scalar] => 2001-09-08T21:46:40-0400
  43. [xmlrpc_type] => datetime
  44. [timestamp] => 1000000000
  45. )