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

35 Comments

  • lukman mengatakan:

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

  • littleflow3r mengatakan:

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

  • octa sibarani mengatakan:

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

  • Vainit in Design mengatakan:

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

  • tomy mengatakan:

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

  • gery mengatakan:

    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 mengatakan:

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

  • arsen mengatakan:

    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 mengatakan:

      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 mengatakan:

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

  • Adib Mahdy mengatakan:

    bermanfaat banget,teimakasih pak

  • budi mengatakan:

    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 mengatakan:

    bermanfaat banget
    terima kasih gan, ini yang saya cari cari

  • afid mengatakan:

    thx gan fungctionya sangan membantu membantu

  • Sauri mengatakan:

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

  • arijuddin mengatakan:

    terimakasih min, sangat bermanfaat bagi saya

  • Juan mengatakan:

    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 mengatakan:

    terimakasih buat ilmu yang telah diberikan….

  • Martha Mcnany mengatakan:

    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 mengatakan:

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

  • Jay mengatakan:

    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 mengatakan:

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

  • siff mengatakan:

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

    salam http://www.newspoint.id

  • prediksitogel mengatakan:

    makasih gan infonya

  • anton mengatakan:

    DUHH.. INI KLO BACA MESTI PAKAI MICROSKOP

  • Niagain mengatakan:

    Ayo Jualan atau Belanja di Niagain.com

  • mr. toyota mengatakan:

    ’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 mengatakan:

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

  • bang_is mengatakan:

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

  • Lusi mengatakan:

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

  • dyas mengatakan:

    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 mengatakan:

    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 ?

Tinggalkan Balasan

Alamat surel 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) (: