J'ai un horodatage Unix et je voudrais obtenir le nom du mois précédent e. g. "Ferbruary"PHP obtenir le nom du mois dernier à partir d'un horodatage
$date = 1489842000;
$lastMonth = getLastMonth($date); //Ferbruary
J'ai un horodatage Unix et je voudrais obtenir le nom du mois précédent e. g. "Ferbruary"PHP obtenir le nom du mois dernier à partir d'un horodatage
$date = 1489842000;
$lastMonth = getLastMonth($date); //Ferbruary
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"));
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);
Ce sera une meilleure réponse si vous allez expliquer votre code là-bas! – Deep
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. –
@TobySpeight explication ajoutée –