- 1
[Opened] JDuration et JDateTime
Posted by bdecaslou on 05/09/2013 12:46
Bonjour à Tous,
J'ai encore un petit souci. Je récupère dans un JForm des données et je souhaite ensuite les modifier afin de pouvoir les enregistrer dans la DAO. Seulement le code ci-dessous ne donne rien. J'ai l'impression que $dt et $dt2 ne récupèrent pas les variables de DateHourStart et DateHourEnd. Si jamais vous voyez ce qui posent soucis merci de m'indiquer comment changer la valeur.
<?php function completerExp2(){ $rep = $this->getResponse('html'); $experiment = jDao::createRecord('ProjetWeb~experiment'); $experiment-> idUser =$this->param('idUser'); $experiment-> DateHourStart =$this->param('DateHourStart'); $experiment-> DateHourEnd =$this->param('DateHourEnd'); $experiment-> latitude =$this->param('latitude'); $experiment-> longitude =$this->param('longitude'); $experiment-> FrequencyCheck =$this->param('FrequencyCheck'); $experiment-> NumberOfEggs =$this->param('NumberOfEggs'); $experiment-> NumberOfFlyes =$this->param('NumberOfFlyes'); $experiment-> season =$this->param('season'); $experiment-> environment =$this->param('environment'); $dt=new jDateTime(); $dt2=new jDateTime(); $dt->setFromString($this->param('DateHourStart'),jDateTime::DB_DFORMAT); $dt2->setFromString($this->param('DateHourEnd'),jDateTime::DB_DFORMAT); $freq = $this->param('FrequencyCheck'); if ($freq==1) { $dt3 = new jDuration(array("hour"=>00,"minute"=>30)); } else if ($freq==2){ $dt3 = new jDuration(array("hour"=>01,"minute"=>00)); } else if (freq==4) { $dt3 = new jDuration(array("hour"=>02,"minute"=>00)); } else { $dt3 = new jDuration(array("hour"=>12,"minute"=>00)); } $dt2->sub($dt3); $dt4 = $dt->durationTo($dt2);; $duration=new jDateTime(); $duration->add($dt4); $duration->toString(jDateTime::DB_DTFORMAT); $experiment-> duration=$duration; $dao = jDao::get('ProjetWeb~experiment'); $dao->insert($experiment); } >
[Opened] JDuration et JDateTime
Posted by bdecaslou on 05/09/2013 12:50
La valeur de duration dans la bdd reste toujours de 00-00-0000 00:00:00
[Opened] JDuration et JDateTime
Posted by laurentj on 05/09/2013 18:53
Bonjour,
les dates reçus sont-elles bien au format indiqué jDateTime::DB_DFORMAT
? Ce serait une chose à vérifier...
[Opened] JDuration et JDateTime
Posted by bdecaslou on 05/10/2013 10:58
Comment savoir le format dans lequel elles sont recus?
Ca peut effectivement etre le problème. J'utilise ca dans le formulaire
input ref="DateHourStart" type="datetime" defaultvalue="now"> <label for="DateHourStart" > Date and Hour of the experiment's beginning </label> </input>
[Opened] JDuration et JDateTime
Posted by bdecaslou on 05/10/2013 11:42
Après avoir regard" mon format est le suivant "jDateTime::DB_DTFORMAT" dans la base de données et dans mon formulaire. J'arrive à insérer directement une valeur mais pas de variable (cf le code ci-joint) Merci de m'indiquer mes erreurs.
$duration=new jDateTime(); $duration->setFromString("0000-00-01",jDateTime::DB_DFORMAT); $duration->toString(jDateTime::DB_DTFORMAT); $experiment-> duration="0000-00-01 00:00:05"; $experiment-> effectiveduration=$duration; $dao = jDao::get('ProjetWeb~experiment'); $dao->insert($experiment);
[Opened] JDuration et JDateTime
Posted by laurentj on 05/13/2013 17:31
Le résultat de ton toString n'est mis null part...
$experiment-> effectiveduration = $duration->toString(jDateTime::DB_DTFORMAT);
Note: pour calculer des durées, il faut utiliser jDuration, et non pas jDateTime.
- 1