Kategori
PHP

Penggunaan Fungsi Date / Time pada PHP

Studi Kasus : Menggunakan fungsi Date/Time pada PHP
Kebutuhan : Webserver Package (XAMPP, EasyPHP, APPServ), already installed.

Dalam mendevelop aplikasi PHP, fungsi date akan sering sekali digunakan. Contoh sederhananya, kita akan menggunakan fungsi date untuk menghitung usia.

Berikut ini adalah beberapa contoh penggunaan fungsi date/time yang sering digunakan dalam develop aplikasi dengan php.

1. Menampilkan Hari Ini ( Current Date ) dengan berbagai format

Asumsi : hari ini adalah Kamis, 25 November 2010

  • Format : 2010-11-25
    Codenya adalah : date("Y-m-d");
  • Format : November 25, 2010, 8:17 PM
    Code : date("F j, Y, g:i a");

Untuk lebih lengkapnya tentang output format dari date, lihat pada tabel berikut (klik pada tabel untuk melihat tabel dengan lebih jelas) :

Output Date Format

2. Penghitungan Rentang/Selisih Tanggal

Script:

<?php
function datediff($tgl1, $tgl2){
$tgl1 = strtotime($tgl1);
$tgl2 = strtotime($tgl2);
$diff_secs = abs($tgl1 - $tgl2);
$base_year = min(date("Y", $tgl1), date("Y", $tgl2));
$diff = mktime(0, 0, $diff_secs, 1, 1, $base_year);
return array( "years" => date("Y", $diff) - $base_year, "months_total" => (date("Y", $diff) - $base_year) * 12 + date("n", $diff) - 1, "months" => date("n", $diff) - 1, "days_total" => floor($diff_secs / (3600 * 24)), "days" => date("j", $diff) - 1, "hours_total" => floor($diff_secs / 3600), "hours" => date("G", $diff), "minutes_total" => floor($diff_secs / 60), "minutes" => (int) date("i", $diff), "seconds_total" => $diff_secs, "seconds" => (int) date("s", $diff) );
}
$tgl1 = '1989-06-06';
$tgl2 = date("Y/m/d/ h:m:s");
$a = datediff($tgl1, $tgl2);
echo 'tanggal 1 = '.$tgl1; echo '<br>';
echo 'tanggal 2 = '.$tgl2; echo '<br>';
echo 'Selisih = '.$a[years].' tahun '.$a[months].' bulan '.$a[days].' hari '.$a[hours].' jam '.$a[minutes].' menit '.$a[seconds].' detik';
?>

Script diatas akan menghasilkan contoh output seperti gambar dibawah ini :

Difference Between 2 Date
3. Penambahan Tanggal

Pda script dibawah kita akan mencoba menambahkan hari, bulan, dan tahun pada current date ( tanggal sekarang ) sehingga menghasilkan output berupa tanggal tertentu hasil penambahan.

Code :

<?php
$todayDate = date("Y-m-d");// current date
echo "Today: ".$todayDate."<br>";
$now = strtotime(date("Y-m-d"));
//Add one day to today
$date = date('Y-m-j', strtotime('+1 day', $now));
echo "After adding 1 day = ".$date."<br>";
$addMonth = 5;
//Add variabel addMonth to today
$date2 = date('Y-m-j', strtotime('+'.$addMonth.' month', $now));
echo "After adding $addMonth month = ".$date2."<br>";
//Add 6 year to today
$date3 = date('Y-m-j', strtotime('+6 year', $now));
echo "After adding 6 year = ".$date3."<br>";
?>

Output dari script diatas adalah seperti tertampil pada gambar dibawah :

Date Adding

4. Mengetahui Apakah hari ini adalah Hari Terakhir Bulan ini

Script :

<?php
// If today is the last day of the month, do echo
if(date('j') == date('t')) {
echo 'Today is the Last Day of this month';
}
else echo 'Today is NOT the Last Day of this month';
?>

Output :

Last Date ?

5. Menghitung sisa hari dalam Tahun ini

Script :

<?php
$today = getdate();
$yday = ($today['yday']);
$leap = date('L');
$tdl = $leap + 365;
$dliy = $tdl - $yday;
echo "Dari hari ini ".date('Y-m-d ').", Kita masih memiliki sisa " . $dliy . " hari dalam tahun ini.";
?>

Output :

Day Remain in Year

Semoga contoh – contoh penggunaan fungsi date di atas akan berguna bagi teman – teman. Saya sendiri sering menggunakannya, tentu saja.

Okay, Happy Coding 🙂

Oleh littleflow3r

obviously, a girl. with sweet smile, off course. turning her 21 years trapped on Informatics departement and just started to having some crush with it lately. she uses wordpress. she loves php. she loves to satisfied her shopping hobbies just via looking around in online shop. oh yeah, she got an A for her english subject^^

37 replies on “Penggunaan Fungsi Date / Time pada PHP”

Notice: Use of undefined constant years – assumed ‘years’ in C:\xampp\htdocs\protakip\pages\sisa.php on line 376

Warning: define() expects at least 2 parameters, 1 given in C:\xampp\htdocs\protakip\pages\sisa.php on line 376

Notice: Use of undefined constant years – assumed ‘years’ in C:\xampp\htdocs\protakip\pages\sisa.php on line 388

Notice: Use of undefined constant months – assumed ‘months’ in C:\xampp\htdocs\protakip\pages\sisa.php on line 388

Notice: Use of undefined constant days – assumed ‘days’ in C:\xampp\htdocs\protakip\pages\sisa.php on line 388

Notice: Use of undefined constant hours – assumed ‘hours’ in C:\xampp\htdocs\protakip\pages\sisa.php on line 388

Notice: Use of undefined constant minutes – assumed ‘minutes’ in C:\xampp\htdocs\protakip\pages\sisa.php on line 388

Notice: Use of undefined constant seconds – assumed ‘seconds’ in C:\xampp\htdocs\protakip\pages\sisa.php on line 388
Tersisa 0 tahun 0 bulan 4 hari 17 jam 57 menit 54 detik .

Kenapa ya gan ?

gan nanya dong. misalkan :batas waktu 2017-02-28, trus dikurangi tanggal hari ini (misal =2017-02-23) gimana ? harusnya kan dapet sisa 5 hari lagi

’Senin’,’Selasa’,’Rabu’,’Kamis’,’Jumat’,’Sabtu’,’Ahad’);
$hari=$array_hari[date(‘N’)];
$tanggal=date(‘j’);
$array_bulan=array(1=>’Januari’,’Februari’,’Maret’,’April’,’Mei’,’Juni’,’Juli’,’Agustus’,’September’,’Oktober’,’November’,’Desember’);
$bulan=$array_bulan[date(‘n’)];
$tahun=date(‘Y’);
echo $hari.’, ‘.$tanggal.’ ‘.$bulan.’ ‘.$tahun;
?>

Tidak berfungsi bos, kalau ini gimana? ada yg pernah coba ?

Bermanfaat sekali mas..
tapi saya masih bingung soal penjelasan di atas.
soalnya saya ingin menambahkan nilai pendapatan per jam..
misal:
si A register pada hari Senin, 01 Jan 2000 pada jam 13:52:55 WIB.
setelah si A mengisi balance sebesar 0.00000500 secara otomatis pendapatan itu akan berjalan tiap jam nya, misalnya perjam pendapatan sekitar 0.00000050 dan di jam selanjutnya akan mendapatkan segitu juga, hitungan ny per 60 menit.. mohon bantuan nya mas..

saya mau tanya, saya ada penomoran otomatis contohnya : 002/SK/1/2015 (yg saya msh bingung itu angka 1 setelah SK itu kan angka per semester, itu gak dirubah per 6 bulan,lalu per 6 bulan berikutnya berubah jadi angka 2 / semester 2 itu codingnya gimana ya ?tks

ada Listing php buat upload soal dengan jumlah yang banyak,, dan otomatis dapat memberikan info jawaban dari siswa yang menjawab soal tersebut …….??

mau tanyaa….
udah mentok banget mohon bantuannya…

saya ingin buat agenda…. databasenya berisi id, tanggal, acara, keterangan.

masalahnya.. bagaimana nanti jika saya ingin menampilkan tanggal dengan format “hari, 00 bulan 0000” dan udah terkonveri ke bahasaindonesia..

mohon bantuannya ya..
thx before..

Pake array mas. saya bantu phpnya saja. sampeyan koneksikan sendiri ke databasenya 🙂

<?php
//echo "Hari ini Tanggal” .date(“j F Y”);

$array_hari=array(1=>’Senin’,’Selasa’,’Rabu’,’Kamis’,’Jumat’,’Sabtu’,’Ahad’);
$hari=$array_hari[date(‘N’)];
$tanggal=date(‘j’);
$array_bulan=array(1=>’Januari’,’Februari’,’Maret’,’April’,’Mei’,’Juni’,’Juli’,’Agustus’,’September’,’Oktober’,’November’,’Desember’);
$bulan=$array_bulan[date(‘n’)];
$tahun=date(‘Y’);
echo $hari.’, ‘.$tanggal.’ ‘.$bulan.’ ‘.$tahun;
?>

klo script u/ menghitung selisih tanggal beda bulan gmna???trus klo misal nya selisih nya tuh 1 bulan 3 hari..nah yg 1 bulan th di jadiin hari nanti hasil nya 33 hari..itu gmna gan??

Tinggalkan Balasan ke Jay Batalkan balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

This site uses Akismet to reduce spam. Learn how your comment data is processed.