1. Carbon là gì?
Carbon được phát triển bởi Brian Nesbitt, mở rộng từ class DateTime
của PHP.
-
Hỗ trợ múi giờ, định dạng ngày giờ, cộng/trừ thời gian, chuyển đổi ngôn ngữ tự nhiên (“next Monday”, “+2 weeks”).

2. Cài đặt & môi trường
Carbon có sẵn trong Laravel, chỉ cần import:
Ví dụ môi trường thường dùng: PHP 8.x, Composer 2.x, Laravel 8.x, Carbon v2.
3. Lấy thời gian nhanh
4. Tạo ngày giờ tùy chỉnh
Nếu để null
, Carbon sẽ tự động lấy giá trị hiện tại.

5. Thao tác cộng/trừ thời gian
Ví dụ tạo gói dùng thử 30 ngày:
Một số hàm phổ biến:
⚠️ Lưu ý: Carbon::create(2012, 1, 31)->addMonth()
sẽ ra 2012-03-03, vì tràn ngày. Hãy dùng addMonthNoOverflow()
để tránh.

6. Getter & Setter
Đọc giá trị:
Gán lại giá trị:
Hoặc dùng chuỗi setter:
7. Định dạng ngày giờ
Carbon cung cấp nhiều method nhanh:
Ngoài ra có thể dùng format() của PHP:
8. Tính toán & so sánh thời gian
9. Hiển thị “thân thiện” cho người dùng
Carbon sẽ tự động chuyển đổi sang dạng dễ đọc hơn cho người dùng cuối.
10. Làm việc với Timezone
Carbon hỗ trợ làm việc với múi giờ rất linh hoạt.
Bạn cũng có thể chuyển đổi timezone:
11. Đa ngôn ngữ (Localization)
Carbon có thể hiển thị ngày tháng theo nhiều ngôn ngữ khác nhau.
Một số locale hỗ trợ: en
, fr
, de
, vi
, ja
, zh
, …
Kết luận
Carbon là thư viện cực kỳ tiện lợi trong Laravel và PHP, giúp:
Nếu bạn đang làm việc với Laravel, hãy tận dụng Carbon để tiết kiệm thời gian và tăng hiệu quả code.