https://packagist.org/packages/nesbot/carbon
我們使用PHP時經常需要處理日期和時間,有時會被時間時區搞混淆,而Carbon是PHP中很人性化的時間日期處理組件,它繼承自 PHP的DateTime 類的 API 擴展,使得處理日期和時間更加簡單。
安裝
可以通過 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/