note 74930 modified in function.date-format by danbrown

From: Date: Sun, 20 Jul 2008 02:34:03 +0000
Subject: note 74930 modified in function.date-format by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-141968@lists.php.net to get a copy of this message
The ISO8601 output format doesn't jive with (at least) what eBay expects in its SOAP transactions. eBay wants a UTC time with a 'Z' suffix. That is, eBay (and I'm guessing other web services) will accept "2007-05-04T17:01:17Z" but not "2007-05-04T17:01:17+0000". As it is, the built-in DateTime::ISO8601 format uses the +0000 timezone specifier even when in a UTC timezone. As a workaround, I do this: <?php function get_ebay_UTC_8601(DateTime $time) { $t = clone $time; $t->setTimezone(new DateTimeZone("UTC")); return $t->format("Y-m-d\TH:i:s\Z"); } ?> --was-- The ISO8601 output format doesn't jive with (at least) what eBay expects in its SOAP transactions. eBay wants a UTC time with a 'Z' suffix. That is, eBay (and I'm guessing other web services) will accept "2007-05-04T17:01:17Z" but not "2007-05-04T17:01:17+0000". As it is, the built-in DateTime::ISO8601 format uses the +0000 timezone specifier even when in a UTC timezone. As a workaround, I do this: function get_ebay_UTC_8601(DateTime $time) { $t = clone $time; $t->setTimezone(new DateTimeZone("UTC")); return $t->format("Y-m-d\TH:i:s\Z"); } http://php.net/manual/en/function.date-format.php

« previous php.notes (#141968) next »