PHP下獲取上個(gè)月、下個(gè)月、本月的日期(strtotime,date)
今天寫(xiě)程序的時(shí)候,突然發(fā)現(xiàn)了很早以前寫(xiě)的獲取月份天數(shù)的函數(shù),經(jīng)典的switch版,但是獲得上月天數(shù)的時(shí)候,我只是把月份-1了,估計(jì)當(dāng)時(shí)太困了吧,再看到有種毛骨悚然的感覺(jué),本來(lái)是想再處理一下的,但是一想肯定還有什么超方便的方法,于是找到了下面這個(gè)版本,做了一點(diǎn)小修改。
獲取本月日期:
function getMonth($date){
$firstday = date("Y-m-01",strtotime($date));
$lastday = date("Y-m-d",strtotime("$firstday +1 month -1 day"));
return array($firstday,$lastday);
}
$firstday是月份的第一天,假如$date是2014-2這樣的話,$firstday就會(huì)是2014-02-01,然后根據(jù)$firstday加一個(gè)月就是2014-03-01,再減一天就是2014-02-28,用date()和strtotime()真是太方便了。
獲取上月日期:
function getlastMonthDays($date){
$timestamp=strtotime($date);
$firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)-1).'-01'));
$lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));
return array($firstday,$lastday);
}
上月日期需要先獲取一個(gè)時(shí)間戳,然后在月份上-1就OK了,超智能的date()會(huì)把2014-0-1這種東西轉(zhuǎn)換成2013-12-01,太爽了。
獲取下月日期:
function getNextMonthDays($date){
$timestamp=strtotime($date);
$arr=getdate($timestamp);
if($arr['mon'] == 12){
$year=$arr['year'] +1;
$month=$arr['mon'] -11;
$firstday=$year.'-0'.$month.'-01';
$lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));
}else{
$firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)+1).'-01'));
$lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));
}
return array($firstday,$lastday);
}
下月日期的代碼看起來(lái)比較長(zhǎng)一點(diǎn),因?yàn)閐ate()轉(zhuǎn)不了類似2014-13-01這種東西,它會(huì)直接回到1970,所以前面需要處理一下12月的問(wèn)題,除了12月就直接月份+1就OK啦。
總得來(lái)說(shuō),還是很方便的,日期函數(shù)太強(qiáng)大了。
- PHP date函數(shù)常用時(shí)間處理方法
- JS版的date函數(shù)(和PHP的date函數(shù)一樣)
- php使用strtotime和date函數(shù)判斷日期是否有效代碼分享
- php中用date函數(shù)獲取當(dāng)前時(shí)間有誤的解決辦法
- PHP date函數(shù)參數(shù)詳解
- PHP date()函數(shù)警告: It is not safe to rely on the system解決方法
- php Smarty date_format [格式化時(shí)間日期]
- 關(guān)于php程序報(bào)date()警告的處理(date_default_timezone_set)
- php中時(shí)間函數(shù)date及常用的時(shí)間計(jì)算
相關(guān)文章
PHP實(shí)現(xiàn)漢字轉(zhuǎn)拼音類庫(kù)的使用方法
這篇文章主要為大家介紹了PHP實(shí)現(xiàn)漢字轉(zhuǎn)拼音類庫(kù)使用方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06在php7中MongoDB實(shí)現(xiàn)模糊查詢的方法詳解
MongoDB模糊查詢語(yǔ)句相信對(duì)大家來(lái)說(shuō)都不陌生,這篇文章主要給大家介紹了在php 7中MongoDB實(shí)現(xiàn)模糊查詢的方法,文中給出了詳細(xì)的介紹和示例代碼,對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友一起來(lái)看看吧。2017-05-05晉城吧對(duì)DiscuzX進(jìn)行的前端優(yōu)化要點(diǎn)
晉城吧的服務(wù)器在美國(guó),延遲相對(duì)國(guó)內(nèi)略微要高一些,所以優(yōu)化就顯得非常重要。2010-09-09基于php數(shù)組中的索引數(shù)組和關(guān)聯(lián)數(shù)組詳解
下面小編就為大家分享一篇基于php數(shù)組中的索引數(shù)組和關(guān)聯(lián)數(shù)組詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03PHP實(shí)現(xiàn)C#山寨ArrayList的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)C#山寨ArrayList的方法,通過(guò)一個(gè)php自定義類模擬實(shí)現(xiàn)C#中ArrayList的功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07PHP正則表達(dá)式匹配替換與分割功能實(shí)例淺析
這篇文章主要介紹了PHP正則表達(dá)式匹配替換與分割功能,簡(jiǎn)單分析了php正則匹配、替換與分割相關(guān)函數(shù),并結(jié)合實(shí)例形式演示了php正則匹配的相關(guān)操作技巧,需要的朋友可以參考下2017-02-02PHP file_get_contents 函數(shù)超時(shí)的幾種解決方法
在使用file_get_contents函數(shù)的時(shí)候,經(jīng)常會(huì)出現(xiàn)超時(shí)的情況,在這里要通過(guò)查看一下錯(cuò)誤提示,看看是哪種錯(cuò)誤,比較常見(jiàn)的是讀取超時(shí),這種情況大家可以通過(guò)一些方法來(lái)盡量的避免或者解決。2009-07-07利用php+mcDropdown實(shí)現(xiàn)文件路徑可在下拉框選擇
以下是對(duì)php+mcDropdown實(shí)現(xiàn)文件路徑可在下拉框進(jìn)行選擇的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下2013-08-08