我想根據今天的日期得到最後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'));
任何人都可以幫忙嗎?
感謝,
約翰
我想根據今天的日期得到最後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'));
任何人都可以幫忙嗎?
感謝,
約翰
使用此:
$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);
即,使用前一年,如果當前的日期小於今年的十一月日期
所有我們需要知道的是如果當前日期在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
非常感謝! –