23 Mei 2016

Mengambil daftar tanggal antara dua tanggal berbeda

Pada suatu kasus yang menggunakan tanggal pada PHP seperti membuat daftar tanggal antara dua tanggal (diff tanggal) semisal untuk absensi... thumbnail 1 summary

Pada suatu kasus yang menggunakan tanggal pada PHP seperti membuat daftar tanggal antara dua tanggal (diff tanggal) semisal untuk absensi atau jadwal mungkin susah.
Tapi dengan beberapa fungsi array kasus tersebut dapat diselesaikan, contohnya :
Tanggal mulai 2016-05-04 (4 Mei 2016) hingga Tanggal 2016-08-26 (26 Agustus 2016) akan menampilkan tanggal-tanggal dari mulai hingga selesai.



1. Buat fungsi untuk mengambil daftar tanggal :
function ambil_hari($sTanggalMulai, $sTanggalSelesai)
{
  $sTanggalMulai = date("Y-m-d", strtotime($sTanggalMulai));
  $sTanggalSelesai = date("Y-m-d", strtotime($sTanggalSelesai));
  $fmonth=date("n",strtotime($sTanggalMulai));
  $aDays[$fmonth][] = $sTanggalMulai;
  $sTanggalData = $sTanggalMulai;
  while($sTanggalData < $sTanggalSelesai){
    $sTanggalData = date("Y-m-d", strtotime("+1 day", strtotime($sTanggalData)));
$month=date("n",strtotime($sTanggalData));
    $aDays[$month][] = $sTanggalData;
  }
  return $aDays;
}
2. Untuk opsionalnya buat fungsi mengkonversikan nama bulan dan nama hari ke bahasa Indonesia
function nama_bulan($bulan)
{
$mons = array(1 => "Januari", 2 => "Februari", 3 => "Maret", 4 => "April", 5 => "Mei", 6 => "Juni", 7 => "Juli", 8 => "Agustus", 9 => "September", 10 => "Oktober", 11 => "November", 12 => "Desember");
$ft= strtr($bulan, $mons);
return $ft;
}
function nama_hari($tanggal)
{
$hari=date("w",strtotime($tanggal));
$mons = array(1 => "Senin", 2 => "Selasa", 3 => "Rabu", 4 => "Kamis", 5 => "Jumat", 6 => "Sabtu", 0 => "Minggu");
$ft= strtr($hari, $mons);
return $ft;
}
3. Jalankan perintah berdasarkan kasus di atas
$mulai="2016-05-04";
$selesai="2016-08-26";
$hariList=ambil_hari($mulai,$selesai);
foreach($hariList as $ValBulan=>$ValTanggal)
{ $nama_bulan=nama_bulan($ValBulan);
echo '<h1>'.$nama_bulan.'</h1>';
foreach($ValTanggal as $ValHari)
{ $nama_hari=nama_hari($ValHari);
echo $nama_hari.",".$ValHari."<br>";
}
}


Berikut full source code nya

Jika anda terbantu dengan artikel saya, dimohon klik iklan pada bagian atas/bagian bawah/bagian kanan (Untuk memberikan semangat penulis membuat artikel :D )
(Gunakan Google Accounts anda untuk berkomentar atau akun disqus)
Donasi :
BNI Syariah 0649420235 AN Heru Rahmat Akhnuari
BCA 3120670319 an. Heru Rahmat Akhnuari
BRI 005801112479504 an. Heru Rahmat Akhnuari