php获取本周一,本周日,上周一,上周日,本月一日,本月最后一日,上月一日,上月最后一日日期

微信 php 806      收藏
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>";