zazadec
Messages postés31Date d'inscriptionvendredi 21 janvier 2005StatutMembreDernière intervention30 juin 2008
-
31 mars 2008 à 22:49
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 2011
-
1 avril 2008 à 03:49
Bijour tous,
Tout d'abord régler votre date système sur aujourd'hui 'Lundi 31 mars 2008'
MAintenant je vous met au défit de trouver la date du mois dernier. Je comprend rien. Je ne sais pas si à cause des années bixestiles, ou une combinaison de malchances mais j'ai du mal à trouver le numéro du mois dernier.
A savoir que j'ai testé pas mal de truc que j'ai trouvé sur le net, notamment :
$elts = explode("/", $date);
Et plein d'autres trucs, mais ça marche pas (enfin chez mois avec mes variables)
Donc soit je viens de trouver un bug php (ce que je doute car vraiment vu mon niveau ...) soit j'ai une variable php mal positionnée.
Si chez vous ca marche, aiguillé moi car ca fait 4 heures que je cherche et .
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 1 avril 2008 à 00:46
Hello,
il y a effectivement un bug. Une solution est de systématiquement prendre le début du mois comme date référence.
Un exemple moche, à revoir (mais il faut chercher, ce buig est sans doute référencé et peut-être y a t il un work-around) pourrait être :
<?php
$sDate = '2008-03-30';
$iTimeStamp = strtotime(substr($sDate, 0, 8).'01');
echo strftime('%B', strtotime('last month', $iTimeStamp));
?>
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 1 avril 2008 à 00:52
Je ne comprends décidément pas ce que tu veux...
Si ta date au format SQL ne te convient pas, convertis-la... Il existe des centaines de codes pour ce faire (de plus ou moins bonne qualité, après, faut voir).
Tu veux février ? Mais février c'est pas une date, c'est un mois. Tu veux une date, ou un mois ? Le mois précédent ?
Bon alors admettons que tu souhaites connaitre le numéro du mois précédent et que ta date soit au format YYYY-MM-DD :
zazadec
Messages postés31Date d'inscriptionvendredi 21 janvier 2005StatutMembreDernière intervention30 juin 2008 1 avril 2008 à 01:05
Merci bcp Malalam.
Si je comprend bien et pour résumé, le contournement du bug est de considérer que quel que soit le jour du mois en cours, on doit fixer comme jour de base pour le calcul du mois dernier le 1er jour du mois.
J'ai vérifié. Ca marche pour tout les jours de l'année, même si année bissextile et pour le mois de février.
yoman64
Messages postés962Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 2 août 20102 31 mars 2008 à 23:14
Salut,
euh ... Bon moi je me casserais pas les couilles avec $mois -1 surtout que justement à cause du nombre de jour chaque mois ou bien des années bisextile ou si le mois arrive à 0 (Je crois que date gère ces cas la , mais mieu vaut pas prendre de chance).
Alors moi j'utiliserais une fonction faite pour ça, et j'ai nommé strtotime.
yoman64
Messages postés962Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 2 août 20102 31 mars 2008 à 23:18
Salut,
Ah oui j'avais pas vu que tu utilisait mktime (j'suis épuisé, ça réfléchie moin bien dans ces cas la :)) alors oui il accepte des valeurs négatives et ton code devrait fonctionner si ta date était de format d/m/Y en partant..
-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org
zazadec
Messages postés31Date d'inscriptionvendredi 21 janvier 2005StatutMembreDernière intervention30 juin 2008 31 mars 2008 à 23:22
Ma date est au format SQL soit YYY-MM-DD.
Mais ca ne marche pas !!!
Je c'est pas pourquoi. Trouvé la date d'hier OK de l'année prochaine OK mais du mois dernier
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 31 mars 2008 à 23:23
Salut,
Moi, j'aimerais bien savoir ce que c'est la date du mois dernier... Le mois dernier, y'avait exactement 29 dates différentes. Est-ce qu'il y en a une qu'il faut retenir plus que les autres ?
Sinon, effectivement, strtotime() est une fonction tout à fait adaptée. Suffit de lui passer en argument '-1 month', et elle se débrouille toute seule comme une grande (si tant est que la date que l'on cherche est celle d'il y a un mois jours pour jours...)
<hr size="2" width="100%" />Neige
N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
zazadec
Messages postés31Date d'inscriptionvendredi 21 janvier 2005StatutMembreDernière intervention30 juin 2008 31 mars 2008 à 23:28
[auteur/NEIGEDHIVER/924195.aspx neigedhiver] excuse pas vu ton message.
Peux tu me confirmer que chez toi ca marche. Car entre la théorie avec laquelle je suis tout a fait d'accord, et la pratique ca ne marche pas.