par
Berzemus » 31 août 2010, 16:27
Bon, il ne faut pas crier trop vite au bug (et c'en est pas un, pour le coup).
Ajoute le paramètre du jour, et le tout rentre dans l'ordre.
$themonth=8;
$prevM = date("M", mktime(0, 0, 0, ($themonth - 1),1 ));
$nextM = date("M", mktime(0, 0, 0, ($themonth + 1),1 ));
echo '$prevM='.$prevM.'
$nextM='.$nextM;
Pour ce qui est du comportement, c'est normal. Quand on ne spécifie pas de jour dans mktime(), il suppose le 31. Or, je te laisse imaginer quelle date donne un timestamp du 31 février..
echo date('c',mktime(0,0,0,2))."\n";
Il fallait juste un peu étudier le comportement de mktime().
Bon, il ne faut pas crier trop vite au bug (et c'en est pas un, pour le coup).
Ajoute le paramètre du jour, et le tout rentre dans l'ordre.
[php]$themonth=8;
$prevM = date("M", mktime(0, 0, 0, ($themonth - 1),1 ));
$nextM = date("M", mktime(0, 0, 0, ($themonth + 1),1 ));
echo '$prevM='.$prevM.'
$nextM='.$nextM;[/php]
Pour ce qui est du comportement, c'est normal. Quand on ne spécifie pas de jour dans mktime(), il suppose le 31. Or, je te laisse imaginer quelle date donne un timestamp du 31 février..
[php]
echo date('c',mktime(0,0,0,2))."\n";[/php]
Il fallait juste un peu étudier le comportement de mktime().