1. 程式人生 > >php獲取本週一,本週日,上週一,上週日,本月一日,本月最後一日,上月一日,上月最後一日日期

php獲取本週一,本週日,上週一,上週日,本月一日,本月最後一日,上月一日,上月最後一日日期

//本週一
echo date('Y-m-d', (time() - ((date('w') == 0 ? 7 : date('w')) - 1) * 24 * 3600)); //w為星期幾的數字形式,這裡0為週日

//本週日
echo date('Y-m-d', (time() + (7 - (date('w') == 0 ? 7 : date('w'))) * 24 * 3600)); //同樣使用w,以現在與週日相關天數算

//上週一
echo date('Y-m-d', strtotime('-1 monday', time())); //無論今天幾號,-1 monday為上一個有效周未

//上週日
echo date('Y-m-d', strtotime('-1 sunday', time())); //上一個有效週日,同樣適用於其它星期

//本月一日
echo date('Y-m-d', strtotime(date('Y-m', time()) . '-01 00:00:00')); //直接以strtotime生成

//本月最後一日
echo date('Y-m-d', strtotime(date('Y-m', time()) . '-' . date('t', time()) . ' 00:00:00')); //t為當月天數,28至31天

//上月一日
echo date('Y-m-d', strtotime('-1 month', strtotime(date('Y-m', time()) . '-01 00:00:00'))); //本月一日直接strtotime上減一個月

//上月最後一日
echo date('Y-m-d', strtotime(date('Y-m', time()) . '-01 00:00:00') - 86400); //本月一日減一天即是上月最後一日
echo "今天:".date("Y-m-d")."<br>";       
echo "昨天:".date("Y-m-d",strtotime("-1 day")), "<br>";       
echo "明天:".date("Y-m-d",strtotime("+1 day")). "<br>";    
echo "一週後:".date("Y-m-d",strtotime("+1 week")). "<br>";       
echo "一週零兩天四小時兩秒後:".date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds")). "<br>";       
echo "下個星期四:".date("Y-m-d",strtotime("next Thursday")). "<br>";       
echo "上個週一:".date("Y-m-d",strtotime("last Monday"))."<br>";       
echo "一個月前:".date("Y-m-d",strtotime("last month"))."<br>";       
echo "一個月後:".date("Y-m-d",strtotime("+1 month"))."<br>";       
echo "十年後:".date("Y-m-d",strtotime("+10 year"))."<br>";