PHP 日期时间类 Carbon 的常见用法

文章目录

    Carbon 继承了 PHP DateTime 类,所以 DateTime 类的方法同样适用于 Carbon 类。

    初始化一个日期

    use Carbon\Carbon;
    
    $today = new Carbon('2018-08-01');
    

    本月第一天,上月第一天

    $first_day = new Carbon('first day of this month');
    $first_day = new Carbon('first day of last month');
    return $month->format('Y-m');   // 2018-08
    

    今日日期

    echo Carbon::today()->toDateString();	// 2018-09-10
    

    昨天

    Carbon::yesterday()->toDateString();
    

    当前时间

    Carbon::now();             // 2018-10-08 14:24:15.074542 Asia/Shanghai (+08:00)
    echo Carbon::now();    // 2018-10-08 14:28:10
    

    时间差

    $start  = new Carbon('2018-10-04 15:00:03');
    $end    = new Carbon('2018-10-05 17:00:09');
    $start->diff($end)->format('%H:%I:%S');
    
    02:00:06
    

    今日某时/昨日某时

    >>> Carbon::parse('today 8am');
    => Carbon\Carbon @1563148800 {#3955
         date: 2019-07-15 08:00:00.0 Asia/Shanghai (+08:00),
       }
    >>> Carbon::parse('yesterday 6pm');
    => Carbon\Carbon @1563098400 {#3954
         date: 2019-07-14 18:00:00.0 Asia/Shanghai (+08:00),
       }
    

    Laravel 当日订单数据

    $orders = Order::whereDate('created_at', Carbon::today())->get();
    

    N 天前/后

    date("Ymd", strtotime("+7 day"));    // "20190716"
    date("Ymd", strtotime("-7 day"));
    

    参考

    https://carbon.nesbot.com/docs/

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式