Histoire de dates

Résolu
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 - 11 févr. 2005 à 13:32
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 - 21 juin 2005 à 08:37
Salut (encore pr certains)

voila je fais un formulaire avec saisie de dates de départ et date de fin

afin de pouvoir faire un checkdate j'ai decider de decomposer la date en faisant plusieurs

un pour le mois,jour,annee,heure et minute

voila je voudrais faire la différence en secondes entre mes deux dates date de fin-date de depart

ya t'il une fonction pour remettre ma date en ordre,gerne concatener tout ca ou bien ????

heu.....j'espere etre assez clair!!!

37 réponses

JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
11 févr. 2005 à 14:35
<?php



$date = array('Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Decembre');



function select($name, $msg, $nb, $nbb, $special='') {

$reste = '';

$reste .="<select name="" . $name . "">\n";

$reste .="\t<option value="">" . $msg . "</option>\n";

$reste .="\t<option value=""></option>\n";

for( $i=$nb; $i<$nbb ; $i++ ) {

if(is_array($special)) {

$reste .="\t<option value="" . $i . "">" . $special[$i-1] . "</option>\n";

} else {

$reste .="\t<option value="" . $i . "">" . $i . "</option>\n";

}

}

$reste .="</select>\n";



return $reste;

}



echo '<form action="" method="POST" >';

echo select('heure', 'Heure', 0, 25);

echo select('minute', 'Minute', 0, 61);



echo select('jour', 'Jour', 0, 32);

echo select('mois', 'Mois', 1, 13, $date);

echo select('annee', 'Annee', 1990, 2051);

echo '
< >
';

echo select('heure_b', 'Heure', 0, 25);

echo select('minute_b', 'Minute', 0, 61);



echo select('jour_b', 'Jour', 0, 32);

echo select('mois_b', 'Mois', 1, 13, $date);

echo select('annee_b', 'Annee', 1990, 2051);

echo '

';

echo 'type="hidden" name="checkdate" />';

echo 'type="Submit" />';

echo '</form>';

if(isset($_POST['checkdate'])) {

$heure = isset($_POST['heure']) ? $_POST['heure'] : 0 ;

$minute = isset($_POST['minute']) ? $_POST['minute'] : 0 ;

$mois = isset($_POST['mois']) ? $_POST['mois'] : 0 ;

$jour = isset($_POST['jour']) ? $_POST['jour'] : 0 ;

$annee = isset($_POST['annee']) ? $_POST['annee'] : 0 ;

$time[0] = mktime($heure, $minute, 0, $mois, $jour, $annee);



$heure_b = isset($_POST['heure_b']) ? $_POST['heure_b'] : 0 ;

$minute_b = isset($_POST['minute_b']) ? $_POST['minute_b'] : 0 ;

$mois_b = isset($_POST['mois_b']) ? $_POST['mois_b'] : 0 ;

$jour_b = isset($_POST['jour_b']) ? $_POST['jour_b'] : 0 ;

$annee_b = isset($_POST['annee_b']) ? $_POST['annee_b'] : 0 ;



$time[1] = mktime($heure_b, $minute_b, 0, $mois_b, $jour_b, $annee_b);



echo "Depart : " . $time[0] . "
\n";

echo "Fin : " . $time[1] . "
\n";

echo "Différence en seconde : " . ($time[1]-$time[0]) . "
\n";

}

?>



Ca doit etre ca !
3
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
11 févr. 2005 à 15:11
<?php

$date = date("Y-m-d H:i:s", ($time[1]-$time[0]));

?>



<HR>

Si ma reponse te conviens, accepte la !
3
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
11 févr. 2005 à 15:20
oups je n'avais pas precisé :
<!--StartFragment --><?php

$date = date("Y-m-d H:i:s", ($time[1]-$time[0]));
// date("Y-m-d H:i:s")
// On recupere la date, mais avec un parametre en +
// date("Y-m-d H:i:s", time());
// Sauf que la le time c'est ($time[1]-$time[0]).
// Donc on recupere une date au format YYYY-mm-dd H:m:s
?>
3
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
14 févr. 2005 à 11:41
<!--StartFragment -->
<?php 

$date = date("Y-m-d"); // YYYY-mm-dd 

explode('-', $date); // $date[1] = YYYY ; $date[2] = mm ; $date[3] = dd ; 

$time = mktime(0, 0, 0, $date[1], $date[2], $date[0]); 

?>



<HR width="100%" SIZE=2>
Si ma reponse te conviens, accepte la. Merci.
Je suis né pour aider, et non pour vivre. Aidez moi !
</FON< body>
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
21 juin 2005 à 08:37
Lu,

function time_date() {

$date = explode('/', $date_a);

return = mktime(0, 0, 0, $date[1], $date[0], $date[2]);

}



echo time_date('21/06/2005')-time_date('21/06/2005');

<hr>Si ma reponse te convient, merci de l'accepter !
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
11 févr. 2005 à 13:43
Pas me concernant, non!

Tu ne veux pas donner un exemple concret ?

Un bout de code, et un exemple :-)
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
11 févr. 2005 à 14:02
<?php



$date = array('Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Decembre');



?>

<html>

<head>



<script></script>



</head>





<form name="form" action="" method="POST" >



<select name="jour">

<option value="">Jour</option>

<option value=""></option>

<?php

for( $i=1; $i<32 ; $i++ ) {

echo "\t<option value="" . $i . "">" . $i . "</option>";

}

?>

</select>



<select name="mois">

<option value="">Mois</option>

<option value=""></option>

<?php

for( $i=0; $i<12 ; $i++ ) {

echo "\t<option value="" . ($i+1) . "">" . $date[$i] . "</option>";

}

?>

</select>



<select name="annee">

<option value="">Année</option>

<option value=""></option>

<?php

for( $i=date("Y"); $i<date("Y")+6 ; $i++ ) {

echo "\t<option value="" . $i . "">" . $i . "</option>";

}

?>

</select>



type="button" value=".:: Envoyer ::." OnClick="return verif();" />

</form>





</html>



Je viens de mettre ce script il y a qq min, ici : http://www.phpcs.com/forum.v2.aspx?ID=389278&post=ok
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
11 févr. 2005 à 14:06
Oups, je croit que ce n'était pas ca ! Mais att, je vais reflechir ! Je lit trop vite !
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
11 févr. 2005 à 14:13
bon je crois que je sais vraiment pas m'exprimer et me faire comprendre....

en plus j'ai un sale virus qui redemarre mon pc tous els 1/4 d'heure

tant pis!!!pour moi....

++
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
11 févr. 2005 à 14:13
Bah, attends son code, ce sera nettement plus simple...
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
11 févr. 2005 à 14:15
Ceci dit, pour formatter une chaine en date, y a la fonction date() mais je prefere attendre de voir ce que tu veux exactement.
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
11 févr. 2005 à 14:18
Ah, mais c'est Hyper simple, att je te le fait, jen é deja fait la moitié ! Indice : time = seconde ; mktime = seconde d'une date et une soustraction et le tour est joué !
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
11 févr. 2005 à 14:39
oki alors voila au lieu de faire un seul input en precisant le format

gerne:

date de depart(mm/dd/yyyy):

j'ai fait un input pr le mois le jour l'annee l'heure et les minutes...

pr pouvoir me servir de la fonction checkdate qui a pr parametre(int annee,int mois,int jour)



voila mais maintenant je veux faire la diffrence entre les deux date saisies et avoir le resultat en secondes!!!

de plus je vais avoir besoin de tout remettre au format SQL pr aller chercher des data suivant les dates saisies!!!

gerne WHERE date<date fin & date>date depart...

voila donc faut concatener toutes mes trucs recupéres par $_POST....

je crois bien que c mieux la???

je fais vite apres mon 2000éme reboot de la journée!!!
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
11 févr. 2005 à 14:44
C'est cette fonction que tu cherche !
Elle transforme les données heures, minutes, secondes, mois, jours, années, en un time() ce qui equivaut a une date en seconde.
A l'heure ou j'ecrit il doit etre aproximativement : <!--StartFragment --> 11081296340( en time() )

mktime($heure_b, $minute_b, 0, $mois_b, $jour_b, $annee_b);
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
11 févr. 2005 à 15:03
oki merci!!!!

et pour remettre au format MySQL (yyyy-mm-dd HH:MM:SS)

comment je peux faire?
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
11 févr. 2005 à 15:04
oki merci!!!!

et pour remettre au format MySQL (yyyy-mm-dd HH:MM:SS)

comment je peux faire?
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
11 févr. 2005 à 15:12
oki merci!!!!

et pour remettre au format MySQL (yyyy-mm-dd HH:MM:SS)

comment je peux faire?
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
14 févr. 2005 à 10:41
petite question juste pr savoir
si je récupére directement une chaine dans le format voulu style
yyyy/mm/dd
et a coté les heures puis les minutes
comment faire le mktime???
$time[1] = mktime($heure_b, $minute_b, 0, $mois_b, $jour_b, $annee_b);

il faut décomposer la date ,non???? c'est juste pour approfondir mes connaissances!!!

merci de répondre
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
14 févr. 2005 à 13:13
j'accepte j'accepte !!!!

merci bien pour cela ....

je suppose que si je dis

$date=cate("Y/m/d");

explode('/',$date);

ca marche aussi!!!?????

par contre prkoi tu mets en commentaire ca:

$date[1] = YYYY ; $date[2] = mm ; $date[3] = dd ; 



je suppose que si on le precise aps ca marche pas ,non?

0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
14 févr. 2005 à 13:20
j'accepte j'accepte !!!!

merci bien pour cela ....

je suppose que si je dis

$date=cate("Y/m/d");

explode('/',$date);

ca marche aussi!!!?????

par contre prkoi tu mets en commentaire ca:

$date[1] = YYYY ; $date[2] = mm ; $date[3] = dd ; 



je suppose que si on le precise aps ca marche pas ,non?

0
Rejoignez-nous