Mengubah Tanggal Menjadi Kalimat pada PHP

Kalimat yang menyatakan bunyi tanggal pada bahasa Indonesia digunakan oada pembuatan produk hukum seperti akta notaris, surat kuasa, berita acara, dan lain sebagainya. Hal ini sama seperti fungsi untuk mengubah waktu ke kalimat sebagaimana yang telah dibahas pada artikel sebelumnya.

Contoh kasus penggunaan fungsi untuk mengubah tanggal menjadi kalimat adalah pada penulisan tanggal lahir penghadap notaris yang ingin mendirikan PT, tanggal surat kuasa, tanggal SK terbit, dan lain-lain.

Contoh fungsi untuk mengubah tanggal menjadi kalimat bahasa Indonesia yang mudah dipahami manusia adalah sebagai berikut:

function tanggal_ke_kalimat($tanggal) {
  // Validasi input
  if (!preg_match('/^\d{4}-\d{2}-\d{2}$/', $tanggal)) {
    return "Format tanggal tidak valid!";
  }

  // Pecah tanggal menjadi bagian tahun, bulan, dan hari
  list($tahun, $bulan, $hari) = explode('-', $tanggal);

  // Konversi bulan ke dalam format teks
  switch ($bulan) {
    case '01':
      $bulan_kalimat = 'Januari';
      break;
    case '02':
      $bulan_kalimat = 'Februari';
      break;
    case '03':
      $bulan_kalimat = 'Maret';
      break;
    case '04':
      $bulan_kalimat = 'April';
      break;
    case '05':
      $bulan_kalimat = 'Mei';
      break;
    case '06':
      $bulan_kalimat = 'Juni';
      break;
    case '07':
      $bulan_kalimat = 'Juli';
      break;
    case '08':
      $bulan_kalimat = 'Agustus';
      break;
    case '09':
      $bulan_kalimat = 'September';
      break;
    case '10':
      $bulan_kalimat = 'Oktober';
      break;
    case '11':
      $bulan_kalimat = 'November';
      break;
    case '12':
      $bulan_kalimat = 'Desember';
      break;
    default:
      $bulan_kalimat = '';
      break;
  }

  // Konversi hari ke dalam format teks
  $hari_kalimat = terbilang($hari);

  // Konversi tahun ke dalam format teks
  $tahun_kalimat = terbilang($tahun);

  // Gabungkan bagian-bagian tanggal menjadi kalimat
  $kalimat = $hari_kalimat . ' ' . $bulan_kalimat . ' tahun ' . $tahun_kalimat;

  return $kalimat;
}

Fungsi di atas menggunakan fungsi terbilang() yang dibagikan sebelumnya untuk mengubah angka menjadi kalimat.

Contoh penggunaan fungsi tanggal_ke_kalimat() adalah seperti di bawah ini:

echo tanggal_ke_kalimat('2022-03-17'); // Output: "tujuh belas Maret dua ribu dua puluh dua"
echo tanggal_ke_kalimat('2021-12-25'); // Output: "dua puluh lima Desember dua ribu dua puluh satu"
echo tanggal_ke_kalimat('2023-05-31'); // Output: "tiga puluh satu Mei dua ribu dua puluh tiga"

Silahkan bereksperimen sesuai kebutuhan. Misalnya jika input tanggal formatnya bukanlah Y-m-d maka perlu disesuaikan validasi inputnya. Bisa juga kalimat hasil akhirnya disesuaikan sesuai kebutuhan masing-masing.

Semoga bermanfaat.

Photo of author

Ahmad Budairi

Ahmad Budairi, S.Pd. | Seorang Web Developer sekaligus kader Gerakan Pemuda Ansor yang sangat suka menulis artikel. Saya di sini akan lebih banyak menulis seputar Laravel, vue, vuetify, inertiajs, dan hal lain yang berhubungan dengan web development.Kontak: budairi.contact[et]gmail[dot]com