Membuat Kalender dengan PHP

Membuat Kalender dengan PHP

Script PHP kalender adalah sebuah kode program yang digunakan untuk membuat tampilan kalender di website menggunakan bahasa pemrograman PHP. Dalam script ini, kalender dibuat berdasarkan pada tahun, bulan, dan hari saat ini menggunakan fungsi bawaan PHP seperti date() dan cal_days_in_month().

Untuk membuat tampilan kalender, script ini menggunakan tabel HTML. Nama bulan dan hari ditentukan dalam array dan digunakan dalam output tabel. Sel kosong ditambahkan sebelum dan setelah hari dalam bulan untuk memastikan kalender dimulai pada hari yang benar dan berakhir dengan sel kosong.

Selain itu, script ini juga memiliki fitur untuk menandai hari saat ini dengan kelas CSS "today". Anda dapat menyesuaikan script ini dengan menambahkan CSS untuk memperindah tampilan kalender sesuai dengan desain website Anda.

Dengan menggunakan script PHP kalender, Anda dapat dengan mudah menambahkan fitur kalender pada website Anda dan memberikan pengalaman pengguna yang lebih baik untuk melihat tanggal dan acara penting.

<?php
// Set default timezone
date_default_timezone_set('Asia/Jakarta');

// Dapatkan tahun, bulan, dan hari saat ini
$tahun = date('Y');
$bulan = date('n');
$hari = date('j');

// Dapatkan jumlah hari dalam bulan saat ini
$jumlahHari = cal_days_in_month(CAL_GREGORIAN, $bulan, $tahun);

// Dapatkan hari pertama dalam bulan ini
$hariPertama = date('w', strtotime($tahun . '-' . $bulan . '-01'));

// Tentukan nama bulan dan hari
$namaBulan = array('Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember');
$namaHari = array('Minggu', 'Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu');

// Output tabel kalender
echo '<table>';
echo '<caption>' . $namaBulan[$bulan-1] . ' ' . $tahun . '</caption>';
echo '<thead>';
echo '<tr>';
foreach ($namaHari as $hariNama) {
    echo '<th>' . $hariNama . '</th>';
}
echo '</tr>';
echo '</thead>';
echo '<tbody>';
echo '<tr>';
// Output sel kosong sampai hari pertama dalam bulan
for ($i = 0; $i < $hariPertama; $i++) {
    echo '<td></td>';
}
// Output sel untuk setiap hari dalam bulan
for ($nomorHari = 1; $nomorHari <= $jumlahHari; $nomorHari++) {
    $hariDalamMinggu = date('w', strtotime($tahun . '-' . $bulan . '-' . $nomorHari));
    if ($nomorHari == $hari) {
        echo '<td class="today">' . $nomorHari . '</td>';
    } else {
        echo '<td>' . $nomorHari . '</td>';
    }
    if ($hariDalamMinggu == 6) {
        echo '</tr><tr>';
    }
}
// Output sel kosong setelah hari terakhir dalam bulan
for ($i = $hariDalamMinggu; $i < 6; $i++) {
    echo '<td></td>';
}
echo '</tr>';
echo '</tbody>';
echo '</table>';
?>

Anda dapat menyesuaikan kode di atas sesuai dengan kebutuhan Anda, misalnya dengan menambahkan CSS untuk mempercantik tampilan kalender.