[PHP] Ajouter 2 heure variable de date

Fermé
Mell - 31 mars 2010 à 13:28
LelLex Messages postés 1628 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 5 septembre 2012 - 31 mars 2010 à 18:33
Bonjour,
Mon problème se situe sur la récuperation d'une variable qui contient une date sous le format "Y-m-d h:i:s" contenue dans un champ SQL.
Je voudrais ajouter 2 heures a cette dates mais je ne trouve pas la fonction ou le procédé à faire pour que une fois ma date récupérer, les 2heures soit ajoutés.
Exemple:
$madate contient 2010-03-31 11:25:54 deviendra 2010-03-31 13:25:54.
Malgrès les docs, je ne trouve toujours pas comment faire.
Th for the futur answer !

9 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
31 mars 2010 à 16:53
voilà:
<?php
$madate= '2010-03-31 11:25:54';

list($annee,$mois,$jour,$h,$m,$s)=sscanf($madate,"%d-%d-%d %d:%d:%d");
echo "Ancienne date: ".$annee."-".$mois."-".$jour." ".$h.":".$m.":".$s."<br />";
$h+=2;
$timestamp=mktime($h,$m,$s,$mois,$jour,$annee);
$new_date=date('Y-m-d H:i:s',$timestamp);
echo "Nouvelle date: ".$new_date;


?>
6
LelLex Messages postés 1628 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 5 septembre 2012 112
31 mars 2010 à 14:19
Hi guy, what's up ? ( J'aime bien les gens qui parlent Frenglish ! )

Tu récupères ton timestamp puis tu lui ajoutes 2h ( en secondes ) et voilà. Pour les opérations sur des valeurs, c'est expliqué sur le SiteDuZero : rubrique => PHP - MySQL.
0
Re bonjour,
J'ai bien essayer la fonction timestamp mais je n'arrive pas a l'utiliser, enfin, j'ai voulu convertir la variables $date en seconde mais cela ma retourner la date actuelle en seconde et non celle qui se trouve dans ma variable ><.
Un petit coup de main svp?

Merci beaucoup ^^
0
LelLex Messages postés 1628 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 5 septembre 2012 112
31 mars 2010 à 17:15
Je pensais plutôt procéder de la sorte :
- récupérer le timestamp avec $_POST ou $_GET
- la valeur de timestamp est déjà en seconde, donc lui rajouter 2h sous la forme de seconde :
$timestamp_modifier = $timestamp + 7200;

Puis l'afficher, ou modifier dans votre base de données. Ou bien même, le fait dès le début, peu importe ; c'est comme ça vous arrange.

Néanmoins, le script de Alain_42 est aussi bien.
0

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

Posez votre question
Et bien, le faites est que je n'est besoin de récuperer le timestamp de l'heure actuelle que après.
Car la date&heure elles, est déjà stocker dans la table SQL et peut daté d'un ou deux jours.
La variable qui recupere l'heure actuelle compareras ensuite celle contenue dans la table SQL en lui ajoutant 2heure.
Enfin, Si l'heure stocker+2heure est inferieur a la date actuelle alors j'afficherais ma requetes
Et si elle est superieur, alors il devra attendre que les 2heures soit ecoulé avant de voir s'afficher la requetes.
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
31 mars 2010 à 18:18
oui he bien, par rapport à mon script

tu mets $madate=l'heure lue dans la BDD

et ensuite tu compare $newdate avec l'heure actuelle pour autoriser l'affichage de la requette

même mieux tu compare le $timestamp qui est calculé juste après la ligne $h+=2 avec le timestamp heure actuelle pour autoriser l'affichage de la requette
0
Oki,
Mais,"$madate=l'heure lue dans la BDD" n'est jamais la même, donc je ne peut pas me permettre de mettre une date fixe dans la variable $madate.
J'avoue que j'ai un peu de mal a comprendre.
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
31 mars 2010 à 18:30
il ne faut pas mettre une date fixe, mais par les fonctions php de lecture dans la bdd, tu lis ton champ date

ex:
..........
$row=mysql_fetch_assoc($reponse_query);
$madate=$row['nom_du_champ_date_bdd'];
.....

0
Superbe !!!
C'est exactement la réponse que je cherche depuis hier !!
Merci beaucoup !!!
De la part d'un débutant !
0
LelLex Messages postés 1628 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 5 septembre 2012 112
31 mars 2010 à 18:33
Débutant ?
0