PHP 时间的用法集合

//获取下个月此时是时间戳
date("Y-m-d H:i:s",strtotime("+1 month"));
//获取今天是本月的第几天
date('j',time());
//获取今天是本周的第几天
date('w',time());
//获取当月总天数
date('t', time());
//获取当前日期
date('d', time());

public function index()
    {
        $month = $this->getThisMonth();
        $week = $this->getThisWeek();
        dump($month);
        echo "================================================";
        dump($week);
    }

    /**
     * 获取某月所有时间(默认本月)
     */
    public function getThisMonth($time = '', $format='Y-m-d'){
        $time = $time != '' ? $time : time();
        //获取当前日期
        $week = date('d', $time);
        $date = [];
        //date('t', $time) 获取当月总天数
        for ($i=1; $i<= date('t', $time); $i++){
            $date[$i] = date($format ,strtotime(  $i-$week .' days', $time));
        }
        return $date;
    }

    /**
     * 获取某周所有日期(默认本周)
     */
    public function getThisWeek($time = '', $format='Y-m-d'){
        $time = $time != '' ? $time : time();
        //获取当前周几
        $week = date('w', $time);
        $date = [];
        for ($i=1; $i<=7; $i++){
            $date[$i] = date($format ,strtotime( $i-$week .' days', $time));
        }
        return $date;
    }

 /**
  * 获取两个日期之间的所有日期
  */
    public function getDatesBetweenTwoDays($startDate,$endDate){
    $dates = [];
    if(strtotime($startDate)>strtotime($endDate)){
        //如果开始日期大于结束日期,直接return 防止下面的循环出现死循环
        return $dates;
    }elseif($startDate == $endDate){
        //开始日期与结束日期是同一天时
        array_push($dates,$startDate);
        return $dates;
    }else{
        array_push($dates,$startDate);
        $currentDate = $startDate;
        do{
            $nextDate = date('Y-m-d', strtotime($currentDate.' +1 days'));
            array_push($dates,$nextDate);
            $currentDate = $nextDate;
        }while($endDate != $currentDate);
        return $dates;
    }
}

打印结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值