工作時可能會遇到獲取近幾個月的時間戳汁讼,在向數(shù)據(jù)庫中獲取對應(yīng)值的問題,以下是解決方法,同時借鑒鏈接中處理31號數(shù)據(jù)相同bug問題(剛好今天31號測出的bug)
相關(guān)鏈接:
PHP獲取當(dāng)前月份的前一個月、后一個月
/**
* 獲取N+1個月的時間戳
*/
if (!function_exists('timeStampMonth')) {
function timeStampMonth($month = 4)
{
$monthList = [];
for ($i = 1; $i > -$month; $i--) {
$monthList[] = strtotime(GetMonth($i));
}
return $monthList;
}
}
/**
* 規(guī)避PHP原生php時間戳31天bug
*/
function GetMonth($sign="1")
{
//得到系統(tǒng)的年月
$tmp_date=date("Ym");
//切割出年份
$tmp_year=substr($tmp_date,0,4);
//切割出月份
$tmp_mon =substr($tmp_date,4,2);
$tmp=mktime(0,0,0,$tmp_mon+$sign,1,$tmp_year);
return date("Y-m",$tmp);
}