2016-09-23 99 views
0

我想根據今天的日期得到最後11月的日期。獲取11月1日的最後日期

E.g.今天是2016-09-23,因此11月1日的最後一天將是2015-11-01。

如果今天的日期是2016-11-20,那麼最後一個11月1日的日期是2016-11-01。

我有下面的代碼,只是拉今年11月1日。

$last_november = date('Y-m-d', strtotime('1st november')); 

任何人都可以幫忙嗎?

感謝,

約翰

回答

2

使用此:

$date = date('Y-m-d'); 
$lastNovember = date('Y-m-d', strtotime('1st november')); 
$year = ''; 
//decrement the year's value by 1 to get previous year november's first date 
if ($date < $lastNovember) { 
    $year = date('Y') - 1; 
    $lastNovember = date('Y-m-d', strtotime("1st november {$year}")); 
} 

var_dump($lastNovember); 

即,使用前一年,如果當前的日期小於今年的十一月日期

+0

非常感謝! –

0

所有我們需要知道的是如果當前日期在11月1日之前或之後。如果我們在11月1日之前,那麼去年11月的最後一年是去年,否則就是今年(如果今天是11月1日)。

$year = date('Y'); // start with the current year 

if (date('nd') < 1101) { 
    // we are before 1st November so the last one was last year 
    $year--; 
} 

$last_november = $year . '-11-01'; 

,或者如果你想這一切在同一行,

$last_november = (date('nd') < 1101 ? (date('Y')-1) : date('Y')) . '-11-01'; 

注: 一個潛在的疑難雜症是怎麼寫的比較(date('nd') < 1101)的日期。匹配日期格式nd。寫一個月沒有任何前導0,但總是寫一天爲兩個字符(如果需要,前導0)。 1月1日是101,1月20日是120,11月17日是1117等...查看http://php.net/manual/en/function.date.php

相關問題