Changing the format of a ZendForm DateTime element
If you want to change the format of the value of a DateTime element, the easiest way to do this in your Form class is to do this:
1 2 3 4 5 6 7 8 9 10 11 |
$this->add(array( 'name' => 'next_appointment', 'type' => 'ZendFormElementDateTime', 'options' => array( 'label' => 'Next callback time', ), 'attributes' => array( 'min' => '1 Jan 2013, 00:00', ), )); $this->get('next_appointment')->setFormat('j M Y, H:i'); |
The two things to note:
- You can’t set the format within the array – it has to be via a setFormat() call.
- If you change the format, you must set the min attribute in the same format, as otherwise it will try to set it with the hardcoded string of ‘1970-01-01T00:00Z’ which will not work with your specified format.