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 :)
Hal yang juga menarik:

Hak Cipta

Semua skrip dan teknik dalam artikel di itx.web.id boleh digunakan sebagaimana kehendakmu tanpa perlu mencantumkan sumber. Kamu tidak boleh mengkopi seluruh artikel, dalam Bahasa Indonesia ataupun diterjemahkan ke dalam bahasa lain.

Pencarian ke sini:


Related Articles:

Artikel terkait:

: PHP

About the author

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 lo

36 Comments

  • lukman berkata:

    trima kasih bos…
    script ini berguna sekali buat orang awam seperti saya..

  • littleflow3r berkata:

    iya sama-sama. untuk lebih jelasnya, belajar dari PHP manual mungkin akan lebih baik :)

  • octa sibarani berkata:

    :wink: thanks buat info y mantep bgt,bguna bgt ngebantu ngerjain tugas quh….

  • Vainit in Design berkata:

    Makasih ya gan atas infonya… mw izin copast (banana_rock)

  • tomy berkata:

    kasi tau dnk!!script u/ menghapus dan mengedit y!pliss kk

  • gery berkata:

    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??

  • lukman taktis berkata:

    terima kasih bro, info yang berguna buat pendatang baru seperti saya

  • arsen berkata:

    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..

    • siardhi berkata:

      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;
      ?>

  • Eva berkata:

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

  • Adib Mahdy berkata:

    bermanfaat banget,teimakasih pak

  • budi berkata:

    kalu mau menampilkan tanggal misal : hari senin s/d jum’at = tanggal yang di tampilkan tanggal minus 1hari dan hari jika sabtu – minggu = tanggalnya minus 2hari, gimana ya

  • rakhain berkata:

    bermanfaat banget
    terima kasih gan, ini yang saya cari cari

  • afid berkata:

    thx gan fungctionya sangan membantu membantu

  • Sauri berkata:

    Makasi min sebelumnya ,, tpi pas ane coba timenya gak pas min sama waktu di daerah ane (banten). solusinya gmana yah min ??

  • arijuddin berkata:

    terimakasih min, sangat bermanfaat bagi saya

  • Juan berkata:

    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

  • rentia ayu suprapto berkata:

    terimakasih buat ilmu yang telah diberikan….

  • Martha Mcnany berkata:

    Thanks for every other excellent post. The place else may just anyone get that kind of info in such an ideal manner of writing? Ie a presentation subsequent week, and I am at the look for such information.

  • ketz berkata:

    cara mundur 1 tanggal dari tanggal 1 ke tanggal 31 atau 30 bulan sebelumny bagaimana ya.?? Mohon pencerahannya.te
    imakasih

  • Jay berkata:

    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..

  • kak dolop berkata:

    bagus bngt nih buat belajar mengenai fungsi date. mksih ya mas.

  • siff berkata:

    akhirnya ketemu juga script menampilkan selisih tanggal.. mau saya pake untuk menampilkan last login… makasih sangat bermanfaat

    salam http://www.newspoint.id

  • prediksitogel berkata:

    makasih gan infonya

  • anton berkata:

    DUHH.. INI KLO BACA MESTI PAKAI MICROSKOP

  • Niagain berkata:

    Ayo Jualan atau Belanja di Niagain.com

  • mr. toyota berkata:

    ’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 ?

  • yeyen berkata:

    script untuk menge-set bulan dan tahun sekarang dengan option value bagaimana ya?

  • bang_is berkata:

    mantap thx gan (banana_rock) (banana_ninja) (banana_cool)

  • Lusi berkata:

    Klu ditambah lebih dr 20 thn kok hasilnya kembali ke thun 1979-01-01 knp ya gan?

  • dyas berkata:

    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

  • dyas berkata:

    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 ?

  • TIWI WIDIANTI berkata:

    sangat bermanfaat,trimakasih.

Tinggalkan Balasan

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

x( X-( B-) ;-) :wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :D :?: :-| :-x :-o :-P :-D :-? :-)) :-) :-( :-& :) :( :!: 8-O 8-) 8) (Русский) (yahoo) (worship) (woot) (wave) (unsure) (tongue) (thinking) (tears) (taser) (smileydance) (sleeping) (sick) (scenic) (rofl) (rock) (party) (panic) (okok) (nottalking) (ninja) (music) (muscle) (muhaha) (money) (mmm) (lonely) (lol) (lmao) (idiot) (hungry) (highfive) (heart_beat) (heart) (headspin) (hassle) (haha) (gym) (griltongue) (goodluck) (girlkiss) (funkydance) (fish_hit) (eyeroll) (evilsmirk) (evil_grin) (drinking) (doh) (devil) (dance) (cry) (cozy) (coffee) (brokenheart) (bringit) (blush) (bigeyes) (beer) (banana_rock) (banana_ninja) (banana_cool) (applause) (annoyed) (angry) (K) (: