Von der ZF issue tracker es scheint dies ist ein bekanntes Problem:
Kürzlich viele ZF Benutzer einen Fehler Einreichung, die Zend_Date das falsche Jahr kehrt 2009 statt 2008. Dieser jedoch das erwartete Verhalten und KEINE FEHLER!
Aus der FAQ:
Wenn Ihr Code mit eigenen Formaten in Sie zu einer Situation kommen könnten, wo man zum Beispiel 29.12.2009, aber man erwartet 29.12.2008 zu erhalten.
Es gibt einen Jahresunterschied: 2009 statt 2008. Sie sollten die untere Jahreskonstante verwenden. Siehe dieses Beispiel:
$ date-> toString ('dd.MM.yyyy');
statt
$ Datum-> toString ('dd.MM.yyyy');
Aus dem Handbuch
Beachten Sie, dass das Standard-ISO-Format von PHP-Format unterscheidet, die irritierend sein kann, wenn Sie nicht in der vorangegangenen verwendet haben. Insbesondere die Formatbezeichner für Jahr und Minute werden oft nicht in der vorgesehenen Weise verwendet.
Für das Jahr gibt es zwei Spezifizierer, die oft falsch sind. Der Y-Spezifizierer für das ISO-Jahr und der Y-Spezifizierer für das reale Jahr. Der Unterschied ist klein, aber signifikant. Y berechnet das ISO-Jahr, das oft für Kalenderformate verwendet wird. Siehe zum Beispiel den 31. Dezember 2007. Das wirkliche Jahr ist 2007, aber es ist der erste Tag der ersten Woche in der Woche 1 des Jahres 2008. Also, wenn Sie "dd.MM.yyyy" verwenden, werden Sie bekommen '31 .Dezember.2007 ', aber wenn Sie' dd.MM.YYYY 'verwenden, erhalten Sie '31 .Dezember.2008'. Wie Sie sehen, ist dies kein Fehler, sondern ein erwartetes Verhalten, abhängig von den verwendeten Spezifizierern.
Für die Minute ist der Unterschied nicht so groß. ISO verwendet den Spezifizierer m für die Minute, im Gegensatz zu PHP, das i verwendet. Wenn Sie also keine Minute in Ihrem Format haben, prüfen Sie, ob Sie den richtigen Spezifizierer verwendet haben.
Danke, dumm von mir, dass ich nicht weiter gesucht habe. –
Ich wünschte, ich hätte das vor 4 Stunden gesehen! – ashurexm
Dies sollte als Antwort markiert werden – Sonny