Bandingkan Tanggal di Laravel dengan Carbon

Posted on

Dalam pembuatan aplikasi yang berbasis laravel, seringkali dibutuhkan metode untuk membandingkan tanggal hari ini dengan tanggal yang sudah ditentukan dari database. Untuk melakukan itu, kita dapat menggunakan sebuah ekstensi yang namanya Carbon untuk membantu kita bandingkan tanggal di Laravel.

Sebagai contoh, kita punya 2 variabel $today dan $defaultTime dengan masing-masing format tanggal seperti “YYYY-mm-dd”. Kita mau membandingkan tanggal tersebut, misalnya jika $today >= $defaultTime, maka akan melakukan eksekusi perintah lainnya.

Misalnya :

  • $today = 2024-01-18 dan $defaultTime = 2024-01-18, maka “ok”
  • $today = 2024-01-19 dan $defaultTime = 2024-01-18, maka “ok”
  • $today = 2024-02-10 dan $defaultTime = 2024-01-18, maka “ok”
  • $today = 2024-01-17 dan $defaultTime = 2024-01-18, maka “failed”


Kode Program

$defaultTime = DB::table("schedule")->where("schedule_status", 0)->value("schedule_start_time");
$today = Carbon::now()->format('Y-m-d');

if (Carbon::parse($today)->gte(Carbon::parse($defaultTime))) {
    // $today lebih besar atau sama dengan $defaultTime
    dd("Oke");
} else {
    // $today lebih kecil dari $defaultTime
    dd("Failed");
}


Penjelasan

Carbon::parse() digunakan untuk melakukan konversi string tanggal menjadi objek Carbon untuk dapat dibandingkan. Fungsi gte() (greater than or equal to) berfungsi untuk memeriksa apakah tanggal saat ini lebih besar atau sama dengan tanggal yang diberikan ($startTime). Jika kondisi terpenuhi, maka pesan “Ok” akan ditampilkan; jika tidak, pesan “Failed” akan ditampilkan.

Baca juga: Cara Menjalankan PHP Artisan Laravel melalui SSH Hosting Terminal

Semoga artikel Bandingkan Tanggal di Laravel dengan Carbon ini dapat bermanfaat.