$year = 2010;
$month = 10;
Comment puis-je obtenir le mois précédent 2010-09
et le mois prochain 2010-11
?Comment obtenir le mois précédent et le prochain mois?
$year = 2010;
$month = 10;
Comment puis-je obtenir le mois précédent 2010-09
et le mois prochain 2010-11
?Comment obtenir le mois précédent et le prochain mois?
$date = mktime(0, 0, 0, $month, 1, $year);
echo strftime('%B %Y', strtotime('+1 month', $date));
echo strftime('%B %Y', strtotime('-1 month', $date));
$prevMonth = $month - 1;
$nextMonth = $month + 1;
$prevYear = $year;
$nextYear = $year;
if ($prevMonth < 1) {
$prevMonth = 1;
$prevYear -= 1;
}
if ($nextMonth > 12) {
$nextMonth = 1;
$nextYear += 1
}
ou
// PHP > 5.2.0
$date = new DateTime();
$date->setDate($year, $month, 1);
$prevDate = $date->modify('-1 month');
$nextDate = $date->modify('+1 month');
// some $prevDate->format() and $nextDate->format()
Vous pouvez simplement ajouter 1
au mois en cours et voir si vous avez passé l'année:
$next_year = $year;
$next_month = ++$month;
if($next_month == 13) {
$next_month = 1;
$next_year++;
}
De même pour le mois précédent, vous pouvez faire :
$prev_year = $year;
$prev_month = --$month;
if($prev_month == 0) {
$prev_month = 12;
$prev_year--;
}
PHP est génial à cet égard, il se chargera de la date déversoirs en corrigeant la date pour vous ...
$PreviousMonth = mktime(0, 0, 0, $month - 1, 1, $year);
$CurrentMonth = mktime(0, 0, 0, $month, 1, $year);
$NextMonth = mktime(0, 0, 0, $month + 1, 1, $year);
echo '<p>Next month is ' . date('Ym', $NextMonth) .
' and previous month is ' . date('Ym', $PreviousMonth . '</p>';
strftime * : - * Format du temps et/ou la date en fonction des paramètres régionaux. Les noms de mois et de jours de la semaine et les autres chaînes dépendantes de la langue respectent les paramètres régionaux actuels définis avec setlocale().
strftime('%B %Y', strtotime('+1 month', $date));
strftime('%B %Y', strtotime('-1 month', $date));
essayer comme ceci:
$date = mktime(0, 0, 0, $month, 1, $year);
echo date("Y-m", strtotime('-1 month', $date));
echo date("Y-m", strtotime('+1 month', $date));
ou, plus court, comme celui-ci:
echo date("Y-m", mktime(0, 0, 0, $month-1, 1, $year));
echo date("Y-m", mktime(0, 0, 0, $month+1, 1, $year));
echo date('Y-m-d', strtotime('next month'));
setlocale(LC_TIME,"turkish");
$Currentmonth=iconv("ISO-8859-9","UTF-8",strftime('%B'));
$Previousmonth=iconv("ISO-8859-9","UTF-8",strftime('%B',strtotime('-1 MONTH')));
$Nextmonth=iconv("ISO-8859-9","UTF-8",strftime('%B',strtotime('+1 MONTH')));
echo $Previousmonth; // Şubat /* 2017-02 */
echo $Currentmonth; // Mart /* 2017-03 */
echo $Nextmonth; // Nisan /* 2017-04 */
Pourriez-vous s'il vous plaît expliquer plus loin! – Trufa