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 :

Récupérer date de la veille


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 89
    Points : 64
    Points
    64
    Par défaut Récupérer date de la veille
    Bonjour à tous !

    Me voilà avec un problème certainement très simple à résoudre, mais je ne trouve aucune réponse depuis hier.

    J'aimerais pouvoir récupérer la date d'hier.
    Avec la fonction date, j'obtiens bien la date d'aujourd'hui au format souhaité.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $date = date('Y')."-".date('m')."-".date('d');
    echo "<br>".($date);
    Comment je peux faire si je veux récupérer la date d'hier ?

    J'ai bien pensé à faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $jour = date('d');
    $jour = $jour-'01';
    $date = date('Y')."-".date('m')."-".$jour;
    echo ($date);
    OK il me renvoie bien la date d'hier mais c'est un peu compliqué si je dois le faire plusieurs fois...

    Alors si qqun a une meilleure solution

    Merci d'avance

  2. #2
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    Exploite plutôt un timestamp.
    La fonction time() te retourne donc un timestamp de la date en court (en secondes).
    Ensuite, sachant qu'il y a 3600 secondes dans 1 heure, ça fait 24 x 3600 soit 86400 secondes pour 24 heures (1 jour).
    Donc le timestamp (en court) - 86400 = hier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $hier = date('Y-m-d H:i:s', ( time() - 86400) );
    echo $hier;
    Enfin, sauf erreur

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Depuis PHP 5.2, il y a l'objet "DateTime" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
      $hier = new DateTime('-1 day');
      echo $hier -> format('Y-m-d');
    ?>

  4. #4
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Vachement bien jeca

    Aurais tu sous le coude un lien vers une doc avec une liste des différentes combinaisons possibles pour ce 1er paramètre DateTime ?

    Il y a bien des exemples où on peu se référer via fonction strtotime()
    doc : http://fr2.php.net/manual/fr/function.strtotime.php.
    Je me dis qu'elle ne serait pas si exhaustive que ça.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Points : 822
    Points
    822
    Par défaut
    Autrefois la notice de strtotime contenait un lien vers cette doc :

    http://www.gnu.org/software/tar/manu...t-formats.html

    Je sais pas trop pourquoi ils l'ont viré. Peut-être que tout n'est pas valide.

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Je crois que les formats admissibles sont basés sur :
    http://cricket.ipsyn.net/software/co...t-formats.html

  7. #7
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Et bien oui, s'ils retirent leur lien, et même leur doc, ça va plus, on va pas pouvoir deviner

    Et bien grand merci Jeca et Petibidon.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 89
    Points : 64
    Points
    64
    Par défaut
    Merci jeca c'est super !

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 89
    Points : 64
    Points
    64
    Par défaut
    J'ai encore une petite question.

    J'ai un formulaire dans lequel l'utilisateur saisit une date.
    A l'aide de datepick, il y a le petit calendrier qui s'affiche.
    Je stocke dans une variable $date la valeur saisie.

    Dans une requête, j'ai besoin de récupérer la date du lendemain.
    Et je ne vois pas comment faire cela à partir de ma variable $date.

    J'ai vu qq trucs avec DateTime mais ça a l'air un peu compliqué .

    Merci d'avance

  10. #10
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Citation Envoyé par symff Voir le message
    J'ai vu qq trucs avec DateTime mais ça a l'air un peu compliqué .
    Voir, c'est bien ; mais essayer, c'est mieux.

    Plus haut, il y a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
      $hier = new DateTime('-1 day');
      echo $hier -> format('Y-m-d');
    ?>
    Extrapoler pour avoir le lendemain d'une date n'est quand même pas insurmontable, à condition de faire quelques tests :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
      $lendemain = new DateTime($date . ' -1 day');
      echo $lendemain -> format('Y-m-d');
    ?>
    Si tu veux le faire en sql, toutes les fonctions de dates et heures sont là :
    http://dev.mysql.com/doc/refman/5.0/...functions.html

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

Discussions similaires

  1. Récupèrer la date de la veille au format US
    Par Warrer dans le forum Windows
    Réponses: 4
    Dernier message: 26/07/2012, 08h54
  2. récupérer la date de la veille dans trois cellules différentes
    Par meuah dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 23/05/2008, 09h51
  3. récupérer la date de la veille
    Par mromain dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 30/04/2008, 13h06
  4. date de la veille
    Par liliprog dans le forum C++
    Réponses: 8
    Dernier message: 13/08/2004, 13h41
  5. Réponses: 11
    Dernier message: 23/07/2002, 14h33

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