PHP时间操作

摘要:总结一些常用的时间操作,本月,本周等

php获取今日开始时间戳和结束时间戳

$beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));
$endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;

php获取昨日起始时间戳和结束时间戳

$beginYesterday=mktime(0,0,0,date('m'),date('d')-1,date('Y'));

$endYesterday=mktime(0,0,0,date('m'),date('d'),date('Y'))-1;

php获取上周起始时间戳和结束时间戳

$beginLastweek=mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));

$endLastweek=mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));

php获取本月起始时间戳和结束时间戳

$beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));

$endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'));

根据一个月的某一天获取这个月的最后一天

   $time = '2018-11-01';
   $a = date('Y-m-d',mktime(23,59,59,date('m',strtotime($time)),date('t',strtotime($time)),date('Y',strtotime($time))));
   echo $a;

获取上个月的起始结束时间

     $begin_time = date('Y-m-01 00:00:00',strtotime('-1 month'));
     $end_time = date("Y-m-d 23:59:59", strtotime(-date('d').'day'));

上上个月的时间

     $begin_time =  date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m")-2,1,date("Y")));
     $end_time =  date("Y-m-d H:i:s",mktime(23,59,59,date("m")-1 ,0,date("Y")));

获取两个时间相差多少天

$begin_date = strtotime('2016-04-10');
$end_date = strtotime('2016-06-15');
$days = round(($end_date - $begin_date) / 3600 / 24);\

格式化获取当前几周是几年的第几周以及前几周的开始结束时间

    /**
     * 格式化获取当前几周是几年的第几周
     *
     * @param  [type] $num [description]
     * @return [type]      [description]
     */
    function get_format_week($num)
    {
        for ($x=0; $x<=$num-1; $x++) {
            $desc_num = $x*7;
            $beginLastweek=mktime(0,0,0,date('m'),date('d')-date('w')+1-$desc_num,date('Y'));
            $endLastweek=mktime(23,59,59,date('m'),date('d')-date('w')+7-$desc_num,date('Y'));
            $return[$x]=date('Y',$beginLastweek).'W'.date('W',$endLastweek);
            $return[$x]=array(
                'week' => date('Y',$beginLastweek).'W'.date('W',$endLastweek),
                'start' => date('Y-m-d H:i:s',$beginLastweek),
                'end' => date('Y-m-d H:i:s',$endLastweek),
            );
        }
        return $return;
    }
评论
  • 2019-01-30 18:41:07 by Eric Guo
    https://blog.csdn.net/chin1231/article/details/82392171 可以参考看一下 主要是 使用last 和first
  • 2018-11-27 14:10:58 by Eric Guo
    本来想全部写死31号,但是会发生超限的问题,就是说不存在31的月份会时间超限,报错