PHP 从时间戳中获取上个月的名称

PHP get last month name from a timestamp

我有一个 Unix 时间戳,想获取前一个月的名称 e。 G。 "Ferbruary"

$date = 1489842000;
$lastMonth = getLastMonth($date); //Ferbruary

strtotime 是你的朋友:

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

对于希望完全动态显示上个月名称的任何人,代码为:

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

你可以设置一个DateTime对象为指定的时间戳,然后减去'P1M'的间隔(一个月),像这样:

/**
 * @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);