Giới thiệu
Trong Laravel 11, làm việc với thời gian và ngày tháng trở nên dễ dàng hơn nhờ các helper functions mạnh mẽ. Laravel cung cấp các hàm như now() và today() giúp bạn nhanh chóng thao tác với ngày giờ hiện tại trong các ứng dụng của mình mà không cần sử dụng các thư viện phức tạp hoặc mã cồng kềnh. Những hàm này dựa trên đối tượng Carbon, một thư viện tuyệt vời để làm việc với thời gian trong PHP.
Bài viết này sẽ hướng dẫn chi tiết cách sử dụng các hàm now() và today() với các ví dụ thực tế.
1. Hàm now()
Hàm now() trả về đối tượng thời gian hiện tại với đầy đủ ngày, tháng, giờ, phút, giây. Đây là cách nhanh chóng để lấy thời gian hiện tại mà không cần phải khởi tạo đối tượng Carbon thủ công.
Cách sử dụng:
- Lấy thời gian hiện tại:
$now = now();
echo $now; // Ví dụ: 2024-10-12 14:30:15- Định dạng thời gian:
Bạn có thể định dạng đối tượng thời gian theo ý muốn bằng cách sử dụng phương thức format():
$formattedNow = now()->format('Y-m-d H:i:s');
echo $formattedNow; // 2024-10-12 14:30:15- Sử dụng các phương thức của Carbon:
Vì now() trả về một đối tượng Carbon, bạn có thể sử dụng tất cả các phương thức của Carbon để thao tác với thời gian:
$futureDate = now()->addDays(5);
echo $futureDate; // Ví dụ: 2024-10-17
$pastDate = now()->subMonths(2);
echo $pastDate; // Ví dụ: 2024-08-12Hàm now() cung cấp cho bạn một cách dễ dàng và linh hoạt để làm việc với thời gian hiện tại và thực hiện các phép toán thời gian như cộng hoặc trừ ngày, tháng, hoặc năm.
2. Hàm today()
Hàm today() trả về đối tượng thời gian đại diện cho ngày hiện tại nhưng với giá trị giờ, phút, giây được đặt về 00:00:00. Điều này rất hữu ích khi bạn chỉ cần làm việc với ngày tháng mà không cần quan tâm đến thời gian cụ thể trong ngày.
Cách sử dụng:
- Lấy ngày hiện tại:
$today = today();
echo $today; // Ví dụ: 2024-10-12 00:00:00- Định dạng ngày hiện tại:
Tương tự như now(), bạn có thể định dạng ngày hiện tại bằng phương thức format():
$formattedToday = today()->format('Y-m-d');
echo $formattedToday; // 2024-10-12- Thao tác với ngày:
Bạn cũng có thể sử dụng các phương thức của Carbon để thao tác với ngày hiện tại. Ví dụ, cộng thêm 7 ngày hoặc trừ 1 tháng:
$nextWeek = today()->addDays(7);
echo $nextWeek; // Ví dụ: 2024-10-19 00:00:00
$lastMonth = today()->subMonth();
echo $lastMonth; // Ví dụ: 2024-09-12 00:00:00- So sánh ngày:
Bạn có thể sử dụng các phương thức của Carbon để so sánh ngày hiện tại với các ngày khác:
if (today()->isWeekend()) {
echo 'Hôm nay là cuối tuần!';
}Hàm today() rất hữu ích khi bạn chỉ cần làm việc với ngày tháng mà không cần bận tâm đến thời gian cụ thể trong ngày.
3. Tổng kết các hàm:
| Hàm | Mô tả |
|---|---|
now() | Trả về thời gian hiện tại, bao gồm cả giờ, phút, giây. |
today() | Trả về ngày hiện tại với giờ, phút, giây là 00:00:00. |
4. Ví dụ tổng hợp
public function handleEvent()
{
// Lấy thời gian hiện tại
$currentTime = now();
echo "Thời gian hiện tại: " . $currentTime->format('Y-m-d H:i:s');
// Kiểm tra nếu hôm nay là cuối tuần
if (today()->isWeekend()) {
echo "Hôm nay là cuối tuần!";
} else {
echo "Hôm nay là ngày trong tuần.";
}
// Tạo sự kiện với ngày hiện tại
$event = new Event();
$event->name = 'Sự kiện Laravel';
$event->date = today();
$event->save();
}Ví dụ này sử dụng cả now() và today() để lấy thời gian hiện tại, kiểm tra xem hôm nay có phải cuối tuần không, và tạo một sự kiện với ngày hiện tại.
Kết luận
Các hàm now() và today() trong Laravel 11 giúp bạn dễ dàng làm việc với thời gian và ngày tháng. Bạn có thể sử dụng chúng để lấy thời gian hiện tại, thực hiện các phép toán thời gian, và định dạng thời gian theo cách mong muốn. Được xây dựng trên Carbon, những hàm này mang lại sự linh hoạt và mạnh mẽ khi xử lý thời gian trong ứng dụng của bạn.
Tác giả: Đội ngũ CodeTuthub.com









