Zend_Date возвращает +00: 00 вместо Z:
$date = $order->getCreatedAtStoreDate();
$date->setTimezone('UTC');
$date->toString(Zend_Date::ISO_8601)
// Returns: 2011-07-21T15:18:36+00:00
Требуются: 2011-07-21T15: 18: 36Z
В любом случае я могу заставить Zend_Date использовать Z?
Я нашел обходной путь с str_replace('+00:00', 'Z', $date->toString(Zend_Date::ISO_8601))
но мне это не нравится
Так как это действительная реализация ISO 8601 и ни одна из других константы даты получит то, что вы хотите, вы, вероятно, должны просто использовать свою собственную строку форматирования: $date->toString('Y-m-d\TH:i:s\Z');
Обратите внимание, что это только правильное поведение, когда вы сначала устанавливаете часовой пояс в формате UTC, поэтому вы можете захотеть обернуть их вместе в быстрый помощник.
Других решений пока нет …