Mengelola Tanggal dan Waktu menggunakan Carbon di Laravel
WhatsApp Icon

Mengelola Tanggal dan Waktu menggunakan Carbon di Laravel

Foto profil Edhik P
Oleh Edhik PFull-Stack Developer & Pro Digital AdsPerkiraan waktu baca: 3 menit

Carbon adalah library yang sudah terintegrasi secara bawaan di Laravel untuk memanipulasi dan mengelola tanggal dan waktu. Dengan Carbon, kita bisa melakukan berbagai operasi tanggal seperti menambah/mengurangi waktu, memformat tanggal, dan menghitung selisih antar tanggal.

Dalam panduan ini, kita akan membahas langkah-langkah dari awal hingga akhir tentang cara menggunakan Carbon di Laravel, mulai dari pengaturan di controller hingga menampilkannya di view.

Jika teman-teman belum memiliki project Laravel 11, langkah pertama adalah membuat project Laravel baru. Gunakan perintah berikut untuk membuat project baru:

composer create-project --prefer-dist laravel/laravel:^11.0 laravel-carbon-demo

Setelah project terbuat, masuk ke direktori project:

cd laravel-carbon-demo

Laravel 11 sudah menyertakan Carbon, jadi teman-teman bisa langsung menggunakannya tanpa instalasi tambahan.

Sekarang, kita akan membuat controller untuk mengimplementasikan penggunaan Carbon. Teman-teman bisa membuat controller menggunakan perintah artisan:

php artisan make:controller CarbonController

Controller ini akan kita gunakan untuk mengolah data tanggal dan waktu menggunakan Carbon.

Setelah membuat controller, buka file CarbonController.php di folder app/Http/Controllers/.

Pada bagian atas file, impor class Carbon:

use Carbon\Carbon;

Berikut kode lengkap contoh penggunaan Carbon di dalam controller:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Carbon\Carbon;

class CarbonController extends Controller
{
    public function index()
    {
        // Mengambil waktu sekarang
        $waktuSekarang = Carbon::now();

        // Menambah 7 hari dari waktu sekarang
        $waktuMendatang = Carbon::now()->addDays(7);

        // Format tanggal menjadi hari, bulan, dan tahun
        $tanggalTersimpan = $waktuSekarang->format('d M Y');

        // Menghitung selisih waktu
        $selisihWaktu = Carbon::now()->subDays(5)->diffForHumans();

        // Passing data ke view
        return view('carbon', compact('waktuSekarang', 'waktuMendatang', 'tanggalTersimpan', 'selisihWaktu'));
    }
}

Carbon::now() digunakan untuk mendapatkan waktu saat ini. Ketika teman-teman menggunakan metode ini, Carbon akan menghasilkan waktu sekarang berdasarkan zona waktu yang telah diatur di konfigurasi Laravel.

$waktuSekarang = Carbon::now();

addDays(7) digunakan untuk menambah jumlah hari dari waktu saat ini. Dalam contoh diatas, addDays(7) menambahkan 7 hari dari waktu sekarang, sehingga menghasilkan tanggal 7 hari di masa depan:

$waktuMendatang = Carbon::now()->addDays(7);

format('d M Y') digunakan untuk mengubah format tanggal sesuai kebutuhan. Sebagai contoh, format('d M Y') akan mengubah tanggal menjadi format "17 Sept 2024", dengan angka hari, nama bulan dalam singkatan, dan tahun:

$tanggalTersimpan = Carbon::now()->format('d M Y');

diffForHumans() digunakan untuk menampilkan selisih waktu.

$selisihWaktu = Carbon::now()->subDays(5)->diffForHumans();

Sekarang kita akan menampilkan data yang sudah diproses oleh Carbon di view. Untuk itu, buat file view carbon.blade.php di dalam folder resources/views/ dan masukan kode berikut:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Penggunaan Carbon di Laravel</title>
</head>
<body>
    <h1>Pengelolaan Tanggal dan Waktu dengan Carbon di Laravel</h1>

    <p>Waktu saat ini: {{ $waktuSekarang }}</p>
    <p>7 hari dari sekarang: {{ $waktuMendatang }}</p>
    <p>Format tanggal yang disesuaikan: {{ $tanggalTersimpan }}</p>
    <p>Selisih waktu: {{ $selisihWaktu }}</p>
</body>
</html>

Langkah selanjutnya adalah membuat routing. Buka file routes/web.php dan tambahkan routing berikut:

use App\Http\Controllers\CarbonController;

Route::get('/carbon', [CarbonController::class, 'index']);

Terakhir, jalankan server Laravel dengan perintah berikut:

php artisan serve

Teman-teman bisa mengakses halaman Carbon melalui URL http://localhost:8000/carbon.

 

Artikel terkait