Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Bon j'ai un petit soucis, pour le moment j'ai l'impression que c'est une erreur dans le Framework.
Je suis en train de faire des tests sur mon application a l'aide de PHPUnit.. et je fait notamment des comparaison sur les dates.
voila mon problème...
try{ $startDate = new Zend_Date(); $startDate->setYear(2008)->setMonth(01)->setDay(01); $endDate = new Zend_Date(); $endDate->setYear(2008)->setMonth(12)->setDay(31); $stat->setFilterDate(new MyLib_Stat_Filter_Date('mois', $startDate, $endDate)); } catch (Exception $e){ $this->fail($e->getMessage()); } $filtreDate = $stat->getFilterDate(); $this->assertTrue($filtreDate instanceof MyLib_Stat_Filter_Date); $this->assertEquals($filtreDate->getStartDate() ->toString('YYYY-MM-dd'), '2008-01-01'); $this->assertEquals($filtreDate->getEndDate() ->toString('YYYY-MM-dd'), '2008-12-31');
et voilà le code erreur que j'obtiens :
There was 1 failure: 1) testSetFilters(MyLib_Stat_Admin_TrucTest) Failed asserting that two strings are equal. expected string <2009-12-31> difference < x> got string <2008-12-31> V:\adaccess\trunk\test\library\MyLib\Stat\Admin\TrucTest.php:96 FAILURES! Tests: 114, Assertions: 261, Failures: 1.
Voilà je gagne une année... Alors ai-je oublié un truc..?
Pour info j'ai testé avec le 31/12/2008, 30/12/2008, 29/12/2008, 28/12/2008...et c'est seulement à partir du 28 que cela fonctionne..
Dernière modification par Phil (20-01-2009 14:53:51)
Hors ligne
Hello,
'yyyy' car 'YYYY' c'est pour l'ISO8601.
A+
Hors ligne
Merci ça fonctionne
Hors ligne
attention aux dates et au base de données
Dans MySQL par exemple on vois souvent 0000-00-00 or cette date n'est pas supporté par MySQL seule certaine implémentation la supporte.
en oracle si on fait minDate - 1 jour (où minDate et la date la plus petite supporté par le système) on obtiens NULL
et surtout faire attention au numéro de semaine qui différent parfois entre la france et les état unis. au US la première semaine est la semaine contenant le premier janvier
en france la semaine 1 est la première semaine comptant au moins 4 jours
et les numéro de semaine même configuré en français différent parfois entre les système entre autre entre php et oracle
A+JYT
Hors ligne
Pages: 1