Я работаю с Zend 1.8. Я установил часовой пояс по умолчанию для Европы/Хельсинки и анализирую строку, которая выглядит так:
2009-08-06
с таким заявлением:
new Zend_Date($dateStr, 'YYYY-MM-dd');
Получается такая дата:
object(Zend_Date)#53 (8) {
["_locale:private"]=>
string(5) "en_US"
["_fractional:private"]=>
int(0)
["_precision:private"]=>
int(3)
["_unixTimestamp:private"]=>
string(10) "1249502400"
["_timezone:private"]=>
string(15) "Europe/Helsinki"
["_offset:private"]=>
int(-7200)
["_syncronised:private"]=>
int(0)
["_dst:protected"]=>
bool(true)
}
Так что он, видимо, знает часовой пояс. Однако, когда я пытаюсь получить строковое представление даты, я получаю не 2009-08-06, а 2009-08-05 23:00:00 - время UTC. Что дает?
Редактировать: я также добавил ответ, но версия заметок об обрыве такова: Zend_Date::getDate() не работает, а не биты синтаксического анализа или печати.
YYYY
дает вам год ISO, который немного отличается от того, что вы ожидаете. Это не причина вашей проблемы, а действительно распространенная проблема с Zend_Date. Вероятно, вам следует использоватьyyyy
- person jason   schedule 06.08.2009