The problem is that Zend_Validate_Date does not handle timestamps correctly. One option would be to normalize the value of $ by passing it through date and strtotime to trim at any time.
$value = date("Ymd", strtotime($value));
it will always make the date
YYYY-MM-DD
Another would be to create your own validation
the only requirement is the implementation of the isValid and getMessages method to execute the interface from which Zend_Validate_Date has a working implementation. This will remove restrictions on the format of input dates, but I think this is kind of a goal. If you only wanted to allow a couple of different formats that could be easily implemented in this.
class My_Validate_Datetime extends Zend_Validate_Date{ public function isValid($value){
See also this part of ZF docs or this question.
source share