- 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

