Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour à tous,
Est ce que quelqu'un pourrai m'éclairer sur la meilleur stratégie pour afficher des dates avec Zend_Date à partir du format DATETIME ou DATE
si je fait ça :
$date = new Zend_Date(); $date->set('1971-08-11 08:30:00', Zend_Date::ISO_8601); echo $date->get('d/m/Y');
Ca ne marche pas. Normale DATETIME n'est pas de l'ISO.
Avec
$date = new Zend_Date(); $date->set('1971-08-11 08:30:00', 'Y-m-d H:i:s'); echo $date->get('d/m/Y');
J'obtiens une exception 'Zend_Date_Exception' with message 'Unable to parse the date format string 'Y-m-d H:i:s' at letter 'i''
Bug ?
Hors ligne
Autre chose si je fais :
$date = new Zend_Date();
$date->set('1971-08-11T08:30:00+01:00', Zend_Date::ISO_8601);
$date->get('d/m/Y');
J'obtiens : 11/00/1971
Là je ne comprends plus rien... Basta, j'arrête enough for today !
Hors ligne
En fait en lisant la doc posément Y-m-d H:i:s correspond au format PHP
Avec Zend_Date il faut utiliser YYYY-MM-dd HH:mm:ss
$date->set('1971-08-11 08:30:00', 'YYYY-MM-dd HH:mm:ss');
ou alors signaler que l'on veut utiliser le format php :
Zend_Date::setOptions(array('format_type' => 'php'));
Idem avec le format ISO
$date = new Zend_Date(); $date->set('1971-08-11T08:30:00+01:00', Zend_Date::ISO_8601); $date->get('d/m/Y'); // Format incorrect $date->get('DD/MM/YYYY'); // Format correct
Dernière modification par 2mx (13-12-2007 09:45:09)
Hors ligne
Nouveau test avec un format MySql DATETIME déclaré comme de l'iso
$date->set('1971-08-11 08:30:00', Zend_Date::ISO_8601); $date->get('dd/MM/YYYY'); $date->get(Zend_Date::DATE_FULL);
Et là ça semble fonctionner :
dd/MM/YYYY
11/08/1971
Zend_Date::DATE_FULL
mercredi 11 août 1971
idem si je ne précise pas le format :
$date->set('1971-08-11 08:30:00');
dd/MM/YYYY
11/08/1971
Zend_Date::DATE_FULL
mercredi 11 août 1971
Hors ligne
Pages: 1