IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

PHP: Gestion de dates


Sujet :

PHP & Base de données

  1. #1
    Membre régulier

    Homme Profil pro
    Développeur PHP MySQL
    Inscrit en
    janvier 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur PHP MySQL
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : janvier 2015
    Messages : 34
    Points : 74
    Points
    74
    Par défaut PHP: Gestion de dates
    Bonjour,
    J'ai une date courrante = $dateactuelle
    J'ai une date de fin = $dateobjectif
    J'ai l'écart de ces 2 dates = $ecart
    J'ai une tempo en secondes = $tempo 1800s
    J'ai reconstitué la date avec l'array de $ecart
    Il me faut soit $dateactuelle+$ecart-tempo; (timestamp)
    soit $dateobjectif-$tempo (timestamp)
    dans les deux cas je n'arrive pas à afficher $tet le résultat correctement.
    Merci pour votre aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?PHP
    $ecart=date_diff($dateattaque,$dateobjectif);
    $ecart = mktime($ecart);
    $dateattaque = mktime($dateattaque);
    $dateobjectif = mktime($dateobjectif);
    $ecart = $dateobjectif-$tempo;
    $ecart = getdate();
     
    echo "<font class=\"Blanc\">E5 ".$ecart."</font><br>";
     
     if($ecart['mon']<10){$ecart['mon']="0".$ecart['mon'];}
     if($ecart['mday']<10){$ecart['mday']="0".$ecart['mday'];}
     if($ecart['hours']<10){$ecart['hours']="0".$ecart['hours'];}
     if($ecart['minutes']<10){$ecart['minutes']="0".$ecart['minutes'];}
     if($ecart['seconds']<10){$ecart['seconds']="0".$ecart['seconds'];}
     $tet = "".$ecart['year'].$ecart['mon'].$ecart['mday'].$ecart['hours'].$ecart['minutes'].$ecart['seconds']."";
    ?>
    Je récupère la date actuelle mais pas celle que je veux...
    Problème getdate()?

  2. #2
    Membre éclairé
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    septembre 2012
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : septembre 2012
    Messages : 404
    Points : 806
    Points
    806
    Par défaut
    Bonsoir ;

    getdate sans paramètre retourne la date/heure courante

    essayez
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ecart = getdate($ecart)

  3. #3
    Membre régulier

    Homme Profil pro
    Développeur PHP MySQL
    Inscrit en
    janvier 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur PHP MySQL
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : janvier 2015
    Messages : 34
    Points : 74
    Points
    74
    Par défaut
    J'ai déjà essayé, je vais tenter d'autres paramètres !
    $ecart = getdate($ecart);
    $ecart = getdate($dateobjectif);
    je n'y arrive pas...
    19700101003000

  4. #4
    Membre régulier

    Homme Profil pro
    Développeur PHP MySQL
    Inscrit en
    janvier 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur PHP MySQL
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : janvier 2015
    Messages : 34
    Points : 74
    Points
    74
    Par défaut
    J'en suis là:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $tempo = 1800;
    $datett=date($dateobjectif,strtotime(-$tempo." second"));
    Mais -$tempo ne fonctionne pas.
    Il semble nécessité un positif, une addition.

  5. #5
    Membre averti
    Profil pro
    Administrateur
    Inscrit en
    mai 2008
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur
    Secteur : Industrie

    Informations forums :
    Inscription : mai 2008
    Messages : 210
    Points : 388
    Points
    388
    Par défaut
    Quel est le format de date_actuelle et date_objectif ?

    Est-ce que ce code peut vous aider ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <?php
    	$tempo = 1800;
    	$date_actuelle = '2021-02-15 10:00:00';
    	$date_objectif = '2021-02-15 11:00:00';
    ?>
    <?php
    	$w = [
    		strtotime($date_actuelle),
    		strtotime($date_objectif),
    	];
     
    	$ecart = $w[1] - $w[0];
    	$date = $w[1] - $tempo;
     
    	$tet = date('YmdHis', $date);
    ?>
    <h4>E5 <?php echo $ecart ?></h4>
    <p><?php echo $tet ?></p>

  6. #6
    Membre régulier

    Homme Profil pro
    Développeur PHP MySQL
    Inscrit en
    janvier 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur PHP MySQL
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : janvier 2015
    Messages : 34
    Points : 74
    Points
    74
    Par défaut
    Je suis tombé par hasard sur la solution et je l'ai aussitôt perdue...
    J'en suis là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    $tempoo = $tempo - 1800;
     
    	$dateactuelle=("Y-m-d H:i:s");
    	$datev = explode("",$dateobjectif);
    	$dateobjj = "".$datev['0'].$datev['1'].$datev['2'].$datev['3']."-".$datev['4'].$datev['5']."-".$datev['6'].$datev['7']." ".$datev['8'].$datev['9'].":".$datev['10'].$datev['11'].":".$datev['12'].$datev['13']."";
    	echo "<font class=\"Blanc\">E3 ".$dateobjj."</font><br>";
    	echo "<font class=\"Blanc\">E4 ".$datev."</font><br>";
    	$w = strtotime($dateactuelle);
    	$s = mktime($datev['8'].$datev['9'],$datev['10'].$datev['11'],$datev['12'].$datev['13'],$datev['4'].$datev['5'],$datev['6'].$datev['7'],$datev['0'].$datev['1'].$datev['2'].$datev['3']);
     
    	$s = strtotime($s);
    	//$s = date(YmdHis,$s);
    	echo "<font class=\"Blanc\">E5 ".$s."</font><br>";
    	//$tempo = strtotime($tempo);
    	echo "<font class=\"Blanc\">E6 ".$tempo."</font><br>";
    	$datefin = $s - $tempo;
     
    	$datefin = date("YmdHis",$datefin);
     
    	echo "<font class=\"Blanc\">E7 ".$datefin."</font><br>";
    Je cherche à avoir datefin sous la forme YmdHis de la date.
    La solution est là mais je ne la vois pas...
    Merci de m'aider à décortiquer pour la solution.

  7. #7
    Membre régulier

    Homme Profil pro
    Développeur PHP MySQL
    Inscrit en
    janvier 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur PHP MySQL
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : janvier 2015
    Messages : 34
    Points : 74
    Points
    74
    Par défaut
    J'en suis là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    $tempo = 1800;
     
    	$dateactuelle=("Y-m-d H:i:s");
    	$datev = explode("",$dateobjectif);
    	$dateobjj = "".$datev['0'].$datev['1'].$datev['2'].$datev['3']."-".$datev['4'].$datev['5']."-".$datev['6'].$datev['7']." ".$datev['8'].$datev['9'].":".$datev['10'].$datev['11'].":".$datev['12'].$datev['13']."";
    	echo "<font class=\"Blanc\">E3 ".$dateobjj."</font><br>";
    	echo "<font class=\"Blanc\">E4 ".$datev."</font><br>";
    	$tempo = 1800;
    	$w = strtotime($dateactuelle);
    	$s = mktime($datev['8'].$datev['9'],$datev['10'].$datev['11'],$datev['12'].$datev['13'],$datev['4'].$datev['5'],$datev['6'].$datev['7'],$datev['0'].$datev['1'].$datev['2'].$datev['3']);
     
    	$s = date(YmdHis,$s);
     
    	$tempo = strtotime($tempo);
     
    	$datefin = $s - $tempo;
     
    	$datefin = date(YmdHis,$datefin);
     
    	echo $datefin;
    J'obtiens:
    datefin=20251222040224
    au lieu de:
    datefin=20210301164700

Discussions similaires

  1. [MySQL] Gestion des dates en php et mysql
    Par rolandg dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 31/10/2010, 13h16
  2. Cherche fonction php gestion dates
    Par calitom dans le forum Langage
    Réponses: 5
    Dernier message: 26/05/2010, 12h55
  3. [Dates] Gestion de date en php
    Par stomerfull dans le forum Langage
    Réponses: 5
    Dernier message: 26/08/2008, 15h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo