https://packagist.org/packages/nesbot/carbon

我们使用PHP时经常需要处理日期和时间,有时会被时间时区搞混淆,而Carbon是PHP中很人性化的时间日期处理组件,它继承自 PHP的DateTime 类的 API 扩展,使得处理日期和时间更加简单。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

安装

可以通过 Composer 来安装 Carbon:

composer require nesbot/carbon

使用:

<?php
     require 'vendor/autoload.php';
     use Carbon\Carbon;

获取当前时间

Code:
    1. <?php
    2. $dt = Carbon::now();
    3. $dt->timezone = 'Asia/Shanghai';
    4. echo $dt;   // 2017-10-10 13:02:09

昨天、今天、明天

Code:
    1. <?php
    2. $dt = Carbon::now();
    3. $dt->timezone = 'Asia/Shanghai';
    4. echo '昨天: '.$dt->yesterday(); // 昨天: 2017-10-09 00:00:00
    5. echo '今天: '.$dt->today();  // 今天: 2017-10-10 00:00:00
    6. echo '明天: '.$dt->tomorrow();  // 明天: 2017-10-11 00:00:00

2017年10月最后一天

Code:
    1. <?php
    2. echo new Carbon('last day of October 2017');  // 2017-10-31 00:00:00

一周前

Code:
    1. <?php
    2. echo $dt->subWeek();  // 2017-10-03 13:02:09

5.30天后

Code:
    1. <?php
    2. $dt = Carbon::now();
    3. $dt->timezone = 'Asia/Shanghai';
    4. echo $dt->addDay(30);   // 2017-11-09 13:02:09

计算年龄(出生于1982-12-12)

Code:
    1. <?php
    2. $howOldAmI = Carbon::createFromDate(1982, 12, 12)->age;
    3. echo $howOldAmI . '岁';   // 34岁

只显示日期

Code:
    1. <?php
    2. echo Carbon::now()->toDateString();  // 2017-10-10

显示国际时间

Code:
    1. <?php
    2. echo Carbon::now('Europe/London');  // 伦敦时间:2017-10-10 06:02:09
    3. echo Carbon::now('Europe/Paris'); // 巴黎时间:2017-10-10 07:02:09
    4. echo Carbon::now('Asia/Shanghai');  // 北京时间:2017-10-10 13:02:09
    5. echo Carbon::now('America/Vancouver'); // 温哥华时间:2017-10-09 22:02:09

9.2小时后

Code:
    1. <?php
    2. echo Carbon::now('Asia/Shanghai')->addHours(2);  // 2017-10-10 15:02:09

显示当前时间戳

Code:
    1. <?php
    2. echo Carbon::now()->timestamp; // 1507611729

人性化显示时间

Code:
    1. <?php
    2. $ts = Carbon::yesterday()->timestamp;
    3. echo Carbon::createFromTimestamp($ts)->diffForHumans(); // 1天前

Carbon有点类似javascript的moment.js,它继承了PHP的 Datetime 类,所以 Carbon 中没有涉及到的,但在 Datetime 中已经实现的方法都是可以使用的。使用Carbon后你会发现处理日期和时间非常灵活,也非常人性化。
arbon在github上的地址: http://carbon.nesbot.com/docs/

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄