2017-03-21 68 views

回答

2

strtotime是你的朋友在這裏:

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

對於想這完全動態的任何人,始終顯示上個月的名稱,代碼如下:

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

您可以將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); 
+0

這將是一個更好的答案,如果你將在那裏解釋你的代碼! – Deep

+0

雖然這段代碼片段是受歡迎的,並且可能會提供一些幫助,但如果它包含* how *和* why *的解釋](// meta.stackexchange.com/q/114762)問題。請記住,你正在爲將來的讀者回答這個問題,而不僅僅是現在問的人!請編輯您的答案以添加解釋,並指出適用的限制和假設。 –

+0

@TobySpeight解釋添加 –