php获取指定日期的前一天,前一月,前一年,本周,上一周日期

前一天的日期为:

date("Y-m-d",strtotime("-1 days",strtotime('2019-08-31')))

前一月的日期为

date("Y-m-d",strtotime("-1 months",strtotime('2019-08-31')))

前一年的日期为:

date("Y-m-d",strtotime("-1 years",strtotime('2019-08-31')))

后一天的日期为:

date("Y-m-d",strtotime("+1 days",strtotime('2019-08-31')))

后一月的日期为:

date("Y-m-d",strtotime("+1 months",strtotime('2019-08-31')))

后一年的日期为:

date("Y-m-d",strtotime("+1 years",strtotime('2019-08-31')))

如果不是1,就把+1或者-1换成+n或者-n就可以了。

获取本周一日期:

echo date('Y-m-d', (time() - ((date('w') == 0 ? 7 : date('w')) - 1) * 24 * 3600)); //w为星期几的数字形式,这里0为周日

获取本周日日期:

//同样使用w,以现在与周日相关天数算
echo date('Y-m-d', (time() + (7 - (date('w') == 0 ? 7 : date('w'))) * 24 * 3600)); 

获取上周一日期:

//无论今天几号,-1 monday为上一个有效周未
echo date('Y-m-d', strtotime('-1 monday', time())); 

获取上周日日期:

 //上一个有效周日,同样适用于其它星期
echo date('Y-m-d', strtotime('-1 sunday', time()));
echo '
上周起始时间:
'
; 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"; echo '
本周起始时间:
'
; echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1,date("Y"))),"\n"; echo date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y"))),"\n";

获取毫秒时间戳

/**
   * 13位毫妙时间戳
   * @return string
   */
  function millTimestamp(){
      list($usec, $sec) = explode(' ', microtime());
      return (float)sprintf('%.0f', (floatval($usec) + floatval($sec)) * 1000);
  }

你可能感兴趣的:(PHP)