Да, при отображении Zend_Date
будет учитываться ваш часовой пояс. Чтобы получить разницу, отформатированную для дат по Гринвичу, необходимо явно установить часовой пояс:
$start = new Zend_Date("2011-09-06T10:00:00+02:00",Zend_Date::ISO_8601);
$end = new Zend_Date("2011-09-06T10:01:00+02:00",Zend_Date::ISO_8601);
echo $end->sub($start)->setTimezone('GMT')->get(Zend_Date::ISO_8601);
Это выдаст: 1970-01-01T00: 01: 00 + 00: 00
В sidenote, если вам не нужны функции динамической локализации Zend_Date, лучше избегать этого в пользу * или 1007 * родного PHP API DateTime . Нет никаких причин использовать Zend_Date только потому, что он существует в ZF. PHP собственный DateTime API быстрее и проще в использовании. Получение разницы во времени с помощью API DateTime будет
$start = new DateTime("2011-09-06T10:00:00+02:00");
$end = new DateTime("2011-09-06T10:01:00+02:00");
echo $start->diff($end)->format('%H:%I:%S');
, который будет выводить 00: 01: 00