PHP日期和時間處理組件-Carbon


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/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM