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

Langage PHP Discussion :

[Dates] Problème de soustraction de date


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    173
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 173
    Points : 83
    Points
    83
    Par défaut [Dates] Problème de soustraction de date
    Bonjour à tous.

    je dois faire une soustraction de date, j'ai fais un bout de conde et je pensais que ça marchait, mais au changement de mois ça ne marche plus, vu que mes dates sont vu comme des chiffres.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $date = $astuce["astuce_date_ajout"];
    		$jour = substr($date,8,2);
    		$mois = substr($date,5,2);
    		$annee = substr($date,0,4);
    		$today = date(Ymd);
    		$date_ast = "$annee$mois$jour";
    		$resultat = ($today - $date_ast);
    les dates sont sont cette forme :
    $today :
    20070530

    quand je faisait une comparaison de date sur date astuce au mois de mai

    $date_ast
    20070528

    ça mettait 2, cétait parfait mais au 01/06 :

    $today :
    20070601

    la diffrénce est de 73 hors je voudrais que ça fasse 3.

    Comment je peux faire ?

    A savoir que la date $astuce["astuce_date_ajout"]; arrive sous la forme 2007-05-28 00:00:00

    Merci

  2. #2
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Il faut rechercher dans le forum avant de poster un problème déjà traité plusieurs fois.

    Exemples :
    http://www.developpez.net/forums/sho...highlight=date
    http://www.developpez.net/forums/sho...highlight=date

    Avec ca tu devrais arriver à faire la différence entre deux dates, le plus simple restant de faire appel a mktime() pour chaque date pour obtenir une date en secondes. Ensuite tu fais la différence pour savoir l'écart entre les deux dates en secondes et tu convertis cette durée en jours.

  3. #3
    Membre régulier
    Inscrit en
    Août 2006
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 108
    Points : 82
    Points
    82
    Par défaut
    je serais toi j essaierai d aller voir les mktime pour reconstituer de vrai date et faire la difference entre 2 vraies dates et non pas entre des nombres

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    173
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 173
    Points : 83
    Points
    83
    Par défaut
    Salut

    Merci pour vos réponses. J'avais déja fais une recherche, mais je ne comprend pas comment mettre mon $astuce["astuce_date_ajout"];
    et $today avec la fonction mktime().

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    173
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 173
    Points : 83
    Points
    83
    Par défaut
    bon ne charchant un peu j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $date = $astuce["astuce_date_ajout"];
    		$jour = substr($date,8,2);
    		$mois = substr($date,5,2);
    		$annee = substr($date,0,4);
    		$today = date("Y-m-d");
    		//$date_ast = "$annee$mois$jour";
    		$date_ast = date("Y-m-d", mktime(0, 0, 0, $mois, $jour , $annee));	
    		$resultat = ($today - $date_ast);
     
    		echo $resultat;
    mais $résultat, j'ai 0.

    $date_ast et $today affiche tout les 2 la date format yy-mm-jj

    ou est ce que je rate quelque chose ??

    voila le résultat : http://www.teeshotweb.com/astuces/date.php

    Merci

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    173
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 173
    Points : 83
    Points
    83
    Par défaut
    bon j'ai fait ça :

    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
    		$date = $astuce["astuce_date_ajout"];
    		$jour = substr($date,8,2);
    		$mois = substr($date,5,2);
    		$annee = substr($date,0,4);
    		$date_ast = date("Y-m-d", mktime(0, 0, 0, $mois, $jour , $annee));
     
    		$today = date("Ymd");
    		$day = substr($today,6,2);
    		$month = substr($today,4,2);
    		$year = substr($today,0,4);
    		//$date_ast = "$annee$mois$jour";
    		//echo $today;
     
    		$maintenant = date("Y-m-d", mktime(0, 0, 0, $month, $day , $year));
    		$resultat = ($maintenant - $date_ast);
     
    		echo 'résultat '.$resultat.'<br />';
    		echo 'date astuce '.$date_ast.'<br />';
    		echo 'maintenant '.$maintenant.'<br />';
    mais ça ne change rien, $resultat est toujours = à 0

    merci pour votre aide

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    173
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 173
    Points : 83
    Points
    83
    Par défaut
    bon j'ai trouvé, c'est tout simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $days = (strtotime(date("Y-m-d")) - strtotime($astuce['astuce_date_ajout'])) / 86400;
    A bientôt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Dates] problème de formatage des dates
    Par briviere dans le forum Langage
    Réponses: 3
    Dernier message: 14/10/2007, 19h40
  2. [Dates] Problème avec la fonction date()
    Par Kernald dans le forum Langage
    Réponses: 5
    Dernier message: 16/02/2007, 11h50
  3. Problème de soustraction de date
    Par remika dans le forum Langage SQL
    Réponses: 4
    Dernier message: 29/07/2005, 14h51
  4. Problème de comparaison de dates
    Par MiJack dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/03/2004, 21h43
  5. Problème de Format de date
    Par titititi007 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/06/2003, 08h19

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