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] Calcul d'écart entre 2 dates


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de Sytchev3
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    433
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 433
    Points : 137
    Points
    137
    Par défaut [Dates] Calcul d'écart entre 2 dates
    Bonjour à tous,
    J'ai un petit peu de mal avec la fonction mktime si quelqu'un pouvait m'aider je lui en serais extrèmement reconnaissant. En effet je souhaite calculer l'écart entre 2 dates (la date et heure du jour et une autre date), je sais que je dois utiliser la fonction mktime mais je galère un peu. je précise que ma date est au format AAAA-MM-JJ HH:MM:SS.

  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
    LE plus simple reste d'utiliser strtotime() qui va te convertir en secondes la date que tu lui donnes (elle reconnait le format AAAA-MM-JJ HH:MM:SS qui est le format mysql)

    tu peux ensuite connaitre la différence entre les deux dates et donc le nombre de jours qui les sépare.

  3. #3
    Membre actif
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Points : 241
    Points
    241
    Par défaut
    Oui comme le dis Koopajah la fonction strtotime() est ton allié:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo ((time()- strtotime('2007/10/03'))/3600);
    ce bout de code te donne la difference entre aujourd'hui et le 2007/10/03 en nombre dheure.Tu pourras diviser ton resultat par 24 en plus pour le nombre de jour............

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Points : 18
    Points
    18
    Par défaut
    oui ils ont raison

    mktime() sert à convertir le date en timestamp.

    Pour te servir de mktime(), il faudrai convertir tes 2 dates en timestamp faire la difference et reconvertir en format date avec la fonction date(); ...

    Rapel: Le timestamp est un compteur qui compte le nombre de seconde dupuis le 1er janver 1970 à 00h00. Si vous voulez voir faite un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    echo time();
    ?>
    vous allez avoir une nombre à ralonge qui est le nombre de seconde. Essayer de rafraichier (actualiser) la page ...

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 17
    Points : 19
    Points
    19
    Par défaut
    Slt,
    Une methode comme une autre
    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
     
    //je ne suis pas sur du ereg à verifier
    ereg("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})", $dateadecompser, $decompo); 
     
    //générer letimestamp de ta date
    $stamp=mktime($decompo['4'],$decompo['5'],$decompo['6'],$decompo['2'],$decompo['3'],$decompo['1']);
     
    //tu compare a la date actuel je suis pas sur qu'il faut faire sa
    $diff=time()- $stamp;
    //Aprés du divise pas 60 / 60 /60 et tu verifie les arrondie et tu reporte le resultat.
    //Exemple en minutes :
    $minute = round($diff / 60);
    Tu verifie si il te reste des secondes
    if($minute!=$diff*60)
    $secondes=$diff-$minute*60;
    //tu continue pour les heures, jour ...
    Il y surement d'autre methode

Discussions similaires

  1. [AC-2007] Calculer l'écart entre 2 dates
    Par rch05 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 23/07/2011, 11h41
  2. Réponses: 4
    Dernier message: 21/11/2008, 10h54
  3. [Dates] Calculer la différence entre 2 dates
    Par cyberdevelopment dans le forum Langage
    Réponses: 2
    Dernier message: 13/04/2007, 13h34
  4. [VBA-E] Calculs d'écarts entre 2 dates
    Par harpic dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 04/12/2006, 16h48
  5. Réponses: 4
    Dernier message: 18/10/2006, 15h48

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