3
我有一個Unix時間戳,並希望得到前一個月的名稱e。 G。 「Ferbruary」PHP從時間戳得到上個月的名字
$date = 1489842000;
$lastMonth = getLastMonth($date); //Ferbruary
我有一個Unix時間戳,並希望得到前一個月的名稱e。 G。 「Ferbruary」PHP從時間戳得到上個月的名字
$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);
這將是一個更好的答案,如果你將在那裏解釋你的代碼! – Deep
雖然這段代碼片段是受歡迎的,並且可能會提供一些幫助,但如果它包含* how *和* why *的解釋](// meta.stackexchange.com/q/114762)問題。請記住,你正在爲將來的讀者回答這個問題,而不僅僅是現在問的人!請編輯您的答案以添加解釋,並指出適用的限制和假設。 –
@TobySpeight解釋添加 –