Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 12-12-2007 18:54:47

2mx
Membre
Lieu: Grenoble
Date d'inscription: 06-08-2007
Messages: 125

Zend_Date et le format DATETIME de MySql

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 :

Code:

$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

Code:

$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

 

#2 12-12-2007 19:02:11

2mx
Membre
Lieu: Grenoble
Date d'inscription: 06-08-2007
Messages: 125

Re: Zend_Date et le format DATETIME de MySql

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 !  smile

Hors ligne

 

#3 13-12-2007 09:44:33

2mx
Membre
Lieu: Grenoble
Date d'inscription: 06-08-2007
Messages: 125

Re: Zend_Date et le format DATETIME de MySql

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

Code:

$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

 

#4 13-12-2007 09:57:16

2mx
Membre
Lieu: Grenoble
Date d'inscription: 06-08-2007
Messages: 125

Re: Zend_Date et le format DATETIME de MySql

Nouveau test avec un format MySql DATETIME déclaré comme de l'iso

Code:

$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

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages