2017-03-21 2 views

Répondre

2

strtotime est votre ami ici:

echo Date('F', strtotime($date . " last month")); 

Pour toute personne qui veut cette dynamique pleinement, pour toujours afficher le nom du mois dernier, le code serait:

$currentMonth = date('F'); 
echo Date('F', strtotime($currentMonth . " last month")); 
-1

Vous pouvez définir un objet DateTime sur l'horodatage spécifié, puis soustraire un intervalle de 'P1M' (un mois), comme suit:

/** 
* @param {int} $date unix timestamp 
* @return string name of month 
*/ 
function getLastMonth($date) { 
    // create new DateTime object and set its value 
    $datetime = new DateTime(); 
    $datetime->setTimestamp($date); 
    // subtract P1M - one month 
    $datetime->sub(new DateInterval('P1M')); 

    // return date formatted to month name 
    return $datetime->format('F'); 
} 

// Example of use 
$date = 1489842000; 
$lastMonth = getLastMonth($date); 
+0

Ce sera une meilleure réponse si vous allez expliquer votre code là-bas! – Deep

+0

Bien que cet extrait de code soit le bienvenu, et qu'il puisse fournir de l'aide, il serait [grandement amélioré s'il comprenait une explication] (// meta.stackexchange.com/q/114762) de * comment * et * pourquoi * cela résout le problème. problème. Rappelez-vous que vous répondez à la question pour les lecteurs dans le futur, pas seulement pour la personne qui demande maintenant! S'il vous plaît [modifier] votre réponse pour ajouter une explication, et donner une indication des limites et des hypothèses qui s'appliquent. –

+0

@TobySpeight explication ajoutée –