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 :

trouver le mois précédant


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 7
    Points : 7
    Points
    7
    Par défaut trouver le mois précédant
    Bonjour,

    je cherche à obtenir le mois précédant la date courante

    J'ai naturellement essayé les solutions suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $lastMois = date('m', strtotime('last month'));
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $lastMois = date('m', mktime(0, 0, 0, date("m")-1));
    Ces deux codes qui semblaient fonctionner ne marche pas aujourd'hui
    Nous sommes le 31/10/2020 et les deux propositions me retournent toutes les 2 $lastMois = 10

    Selon ce que je crois comprendre c'est que les deux solution transforment le 31/10/2020 en 31/09/2020 or le 31/09/2020 = 01/10/2020 ... ce problème va donc se poser environ tous les 2 mois ...

    Du coup, avez vous une solution qui fonctionne même le 31ème jour du mois ??

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 228
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 228
    Points : 8 487
    Points
    8 487
    Billets dans le blog
    17
    Par défaut
    Il faut préciser un jour du mois précédent pour fixer le résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $lastMonth = date('m', strtotime('last day previous month'));
    De mémoire ceci n'arrive qu'en fin de mois, lorsque le mois courant a plus de jours que le mois précédent

    strtotime() fait un truc du genre (mois - 1) sans toucher au jour, on se retrouve avec une date invalide type 31/09 qui après ajustement nous ramène au 01/10 => Le last day nous fixe sur le mois demandé

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Mais c'est bien sûr !! C'est tellement évident avec la solution !

    Et du coup ça marche pareil avec mktime en fixant un jour quelconque entre 1 et 28 pour être sûr qu'il existe dans tous les mois ...

    Merci Seb.

  4. #4
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 628
    Points
    3 628
    Billets dans le blog
    8
    Par défaut
    edit :

    Ce sujet m'a inspiré ce petit billet de blog.
    Séb et SableFin ou d'autres, n'hésitez pas à y laisser vos commentaires ! Je ne suis pas à l'abri d'une bourde !

    https://www.developpez.net/forums/bl...s-dintervalle/

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    Bjr Dendrite, au cas où tu ne sois pas abonnée aux commentaires de ton blog :

    Merci Dendrite pour ces 2 fonctions. Pourrais-tu rajouter des commentaires pour les expliquer car je suis loin d'être familier avec le type DateTime et si on essaye de lire la doc, il y a plein de trucs à lire qui ne servent à rien ici. Bref, j'ai abandonné...

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

Discussions similaires

  1. Trouver un mois à partir d'un numéro de semaine et de l'année
    Par patbeautifulday dans le forum Contribuez
    Réponses: 2
    Dernier message: 27/05/2015, 10h59
  2. Réponses: 15
    Dernier message: 24/04/2014, 09h58
  3. Trouver le dernier jour du mois précédant la date entrée
    Par lolafrite dans le forum Langage SQL
    Réponses: 5
    Dernier message: 22/12/2010, 12h01
  4. requete pour trouver le mois d'une échéance principale
    Par wadoux dans le forum Requêtes et SQL.
    Réponses: 32
    Dernier message: 08/02/2010, 08h49
  5. [XL-2007] trouver le mois
    Par alsimbad dans le forum Excel
    Réponses: 1
    Dernier message: 25/07/2009, 18h26

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