php獲取自然周、自然月的處理
阿新 • • 發佈:2019-01-31
取得當前時間的上一週時間用date('Y-m-d',
strtotime('-1 week'))
沒有問題,因為每週時間固定為7天。
2016-5-31
,
用date('Y-m-d', strtotime('-1 month'))
會產生錯誤。因為這裡把 -1
month
按照-30
days
來算date('Y-m-d', strtotime('2016-05-31 -1 month'))
= 2016-05-01
date('Y-m-d', strtotime('2016-01-31 +1 month'))
= 2016-03-02
如果需要取當前月的前後月份的話,需要小心,正確做法可以改為
date('m', strtotime(date('Y-m-1').' -1 month'))
date('m', strtotime(date('Y-m-1').' +1 month'))
echo
date("Y-m-d",strtotime('-1 week last monday'))." 00:00:00";
echo date("Y-m-d",strtotime('last sunday'))." 23:59:59";
echo '<br>上週起始時間:<br>';
echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1-7,date("Y"))),"\n";
echo date ("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7-7,date("Y"))),"\n";