Forum d'entraide PHPFrance

Venez poser vos questions PHP, MySQL, HTML, CSS, Javascript, Gestion de serveurs à la communauté PHPfrance

Vers le contenu

» Masquer les résultats de la recherche

Recherche dynamique PHPfrance

  1. Effectuez une recherche, les résultats s'afficheront dynamiquement ici.

Récupérer le mois précédent ?

Pour les initiés, les confirmés, les experts, les gourous... voire plus.

Récupérer le mois précédent ?

Messagepar jonjojo007 31 Oct 2012, 15:09

Bonjour,

Je souhaiterai récupérer tous les jours de l'année le l'année + mois précédent de cette forme : 2012-09

Beaucoup de manière de faire celà, mais toutes sont bugées

date('Y-m',strtotime('last month')); => bug le 31 janvier
date('Y-m',mktime(0, 0, 0, date("m")-1,date("d"), date("Y"))); => bug aussi avec le mois de février de souvenir
date('Y-m',mktime(0, 0, 0, date("m"),date("d")-date("t"), date("Y")) )); => trouvé sur le net mais bug également.

Actuellement j'utilise date('Y-m',strtotime('last month')); mais aujourd'hui 31 octobre ça donne 2012-10 au lieu de donner 2012-09.

Si quelqu'un a la solution, je suis preneur.

Merci.
jonjojo007
Maitre du phpinfo()
 
Messages: 36
Inscription: 10 Oct 2010, 16:06

Re: Récupérer le mois précédent ?

Messagepar Mazarini 31 Oct 2012, 16:40

date('Y-m',mktime(12, 0, 0, date("m")-1,1, date("Y")));

Le 12h permet de se prémunir des problèmes lié aux heures été/hiver (ou utiliser le 15 par exemple comme jour)
Il ne faut pas prendre la date du jour, mais 01 (ou n'importe <= 28) : 31/06/2012 => 01/07/2012 donc reste juin comme mois précédent

ou
date('Y-m',mktime(12, 0, 0, date("m"),0, date("Y")));


Remarque sur heures d'été/hivers : quand on travail sur les dates avec mktime on travail à 0h. Il arrive alors que l'on se retrouve à 23h après transformation et donc que le résultat est faux.
Mazarini
ViPHP
ViPHP
 
Messages: 2531
Inscription: 27 Oct 2010, 21:05

Re: Récupérer le mois précédent ?

Messagepar jonjojo007 03 Nov 2012, 20:38

Ah super je te remercie bien :)
jonjojo007
Maitre du phpinfo()
 
Messages: 36
Inscription: 10 Oct 2010, 16:06


Retourner vers PHP avancé

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 4 invités