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] Mktime ne suffit donc pas?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Jahprend
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 255
    Par défaut [Dates] Mktime ne suffit donc pas?
    Bonjour,

    Je cherche à modifier une date (chose simple) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $datedujourmodif = date("Y-m-d");//(2008-07-01)
    $datedujourmodif=date("Y-m-d",mktime(0,0,0,date("m"),date("d")+1,date("Y")));//(2008-07-02)
    Le problème se situe au niveau que je n'arrive pas à trouver comment REmodifier cette valeur, car si je réécris la même ligne, il prendra en compte la date du jour, et non la date modifié auparavant.

    Autre chose, je n'arrive pas à changer de format une date (passer d'un format Timestamp à un autre format Timestamp), j'ai besoin de ça pour savoir si un jour
    (qui n'est pas aujourd'hui, car j'avance avec les mktime), est un samedi ou un dimanche, et donc passer du format "Y-m-d" au format "w" (jour de la semaine en numérique).

    Tout ça a pour base le fait que je n'arrive pas à manipuler les dates plus d'une seule fois, on dirai qu'il n'est pas possible de prendre un Timestamp comme valeur modifiable pour des conditions ou des boucles...

  2. #2
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Par défaut
    tu travaille avec la mauvaise donnée.

    Il faut que, en interne, tu travaille avec un timestamp (le type renvoyé par mktime) et que, lorsque tu souhaite afficher quelque chose, tu utilise date()

    Du coup, pour récuperer la date du jour :
    http://fr.php.net/fr/time
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $now=time();
    $demain = mktime(0,0,0, date('m', $now), date('d', $now)+1, date('Y', $now));
    $dans2jours = mktime(0,0,0, date('m', $demain), date('d', $demain)+1, date('Y', $demain));
    etc...

  3. #3
    Membre éclairé Avatar de Jahprend
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 255
    Par défaut
    Y a quelque chose que je comprend pas, je test ton programme, en ajoutant de quoi voir si ça marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $now=time();
      $demain = date("Y-m-d",mktime(0,0,0, date('m', $now), date('d', $now)+1, date('Y', $now)));
      $dans2jours = date("Y-m-d",mktime(0,0,0, date('m', $demain), date('d', $demain)+1, date('Y', $demain)));
      echo "date du jour :$now\n";
      echo "date demain :$demain\n";
      echo "date dans 2 jours :$dans2jours\n";
    Et j'obtiens :
    Première date : 12114922654 (normal car il est sous sa forme originel)
    Deuxième date : 2008-07-02 (normal car c'est le lendemain)
    Troisième date : 1970-01-02 (il prend la valeur de base de la fonction (1970-01-01) et lui ajoute un jour, alors que ce qu'on recherche c'est ajouter un jour à la variable d'avant...

    Est-ce normal? (j'ai peut-être rien compris à ce que tu m'a donné)

  4. #4
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    C'est normal puisque $demain n'est pas un timestamp (comme l'a dit Fladnag), et qu'il ne peux donc pas être utilisé avec mktime.

    Il faut plutôt que tu fasses (non testé) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $now=time();
    $demain = mktime(0,0,0, date('m', $now), date('d', $now)+1, date('Y', $now));
    $dans2jours = mktime(0,0,0, date('m', $demain), date('d', $demain)+1, date('Y', $demain));
    echo "date du jour : ".date("Y-m-d",$now)."\n";
    echo "date demain : ".date("Y-m-d",$demain)."\n";
    echo "date dans 2 jours : ".date("Y-m-d",$dans2jours)."\n";

  5. #5
    Membre éclairé Avatar de Jahprend
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    255
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 255
    Par défaut
    Merci de vos réponses, ce que tu m'as donné marche !

    A tester sur mon prog

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

Discussions similaires

  1. [Dates] mktime bizarre qui ne bouge pas
    Par isa150183 dans le forum Langage
    Réponses: 1
    Dernier message: 19/09/2007, 02h06
  2. [date]mktime cf php
    Par parsy dans le forum Web
    Réponses: 4
    Dernier message: 18/03/2006, 14h16
  3. [Dates] mktime() et calcul de date
    Par nerick dans le forum Langage
    Réponses: 6
    Dernier message: 09/02/2006, 17h25
  4. SQL et les formats date : je n'y arrive pas !
    Par chargy dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 23/06/2005, 19h54
  5. Couleurs non standart (donc pas clX)
    Par Shabata dans le forum Langage
    Réponses: 8
    Dernier message: 20/06/2003, 07h51

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