--> Skip to main content

Bahasa Pemrograman PHP : Fungsi mktime


Pada tutorial bahasa pemrograman php kali ini, kita akan membahas tentang fungsi mktime(). Fungsi mktime() diperkenalkan pada PHP versi sampai dengan sekarang (PHP 7). Fungsi sejatinya adalah suatu unix timestamp.

Manfaat dari penggunaan fungsi mktime() kita dapat membuat sebuah tanggal baru sesuai dengan keinginan kita.

Berikut ini adalah syntax mktime :
mktime(hour,minute,second,month,day,year)

Keterangan :
  • Parameter hour menyatakan jam (opsional)
  • Parameter minute menyatakan menit (opsional)
  • Parameter second menyatakan detik (opsional)
  • Parameter month menyatakan bulan (opsional)
  • Parameter day menyatakan hari (opsional)
  • Parameter year menyatakan tahun (opsional)

Pada php versi sebelumnya ada satu lagi parameter, yaitu is_dst, yang berguna untuk mewakili waktu GMT. Namun mulai PHP versi 5.1.0 parameter ist_dst sudah deprecated. Deprecate maksudnya, masih ditoleransi penggunaannya namun tidak ada fungsinya dan akan dihapus pada versi diatas. Dan pada versi PHP 7 parameter ini telah dihapus.

Contoh 1

Pada contoh.1 ini kita akan membuat tanggal dengan format yang kita inginkan dengan menggunakan fungsi mktime() tanpa menggunakan parameter sama sekali dan fungsi mktime() dengan menggunakan parameter hour,minute serta second yang diset 0.
<?php
hari_ini();
echo"<br>";
kemarin();

function hari_ini()
{
    $hari_ini = mktime();
    echo "Hari ini adalah tanggal ".date("d/m/Y",$hari_ini);
}

function kemarin()
{
    $kemarin = mktime(0,0,0,date("m"),date("d")-1,date("Y"));
    echo "Kemarin adalah tanggal ".date("d-M-Y",$kemarin);
}
?>

Outputnya adalah :
Hari ini adalah tanggal 19/05/2016
Kemarin adalah tanggal 18-May-2016

Contoh 2

Pada contoh.2 kita akan menggunakan fungsi mktime() untuk mengkalkulasi nilai yang benar terhadap input yang berada diluar range, seperti tanggal kita set 40 atau bulan 23.
<?php

echo date("M-d-Y",mktime(0,0,0,13,39,2010)) . "<br>";
echo date("M-d-Y",mktime(0,0,0,15,1,2010)) . "<br>";
echo date("M-d-Y",mktime(0,0,0,1,1,2010)) . "<br>";
echo date("M-d-Y",mktime(0,0,0,1,1,10)) . "<br>";

?>

Outputnya adalah :
Feb-08-2011
Mar-01-2011
Jan-01-2010
Jan-01-2010

Jika kita perhatikan pada contoh.2 untuk mktime(0,0,0,13,39,2010) maka :
  • 13 menyatakan bulan. Namun bulan hanya sampai dengan 12, maka kelebihan 1 bulan sudah dianggap 1 tahun 1 bulan. Sehingga tahun menjadi 2011 dan bulan Januari.
  • 39 menyatakan hari. Namun hari hanya sampai dengan 31, maka kelebihan 8 hari sudah dianggap 1 bulan 8 hari. Sehingga bulan pun menjadi 2 yaitu Februari yang awalnya Januari dan tanggal 8.
  • Sehingga outputnya menampilkan : Feb-08-2011

Begitu seterusnya dalam memahami aritmatika tanggal yang diinput diluar range yang valid. Fungsi mktime akan mengoreksi berdasarkan batas maksimal bulan dan hari dan jika bulannya berlebih akan bertambah untuk tahun dan jika harinya berlebih akan bertambah untuk bulan.
Comment Policy: Silahkan tuliskan komentar Anda yang sesuai dengan topik postingan halaman ini. Komentar yang berisi tautan tidak akan ditampilkan sebelum disetujui.
Buka Komentar
Tutup Komentar