Memahami Fungsi Date pada Pemrograman PHP
Dalam pembuatan sebuah website berita, untuk setiap artikel pastinya dicantumkan tanggal kapan artikel tersebut dipublikasikan. Itu adalah salah contoh dari kegunaan pencantuman tanggal. Sehubungan dengan hal tersebut, maka dalam tutorial pemrograman php kali ini kita akan memahami dasar-dasar tentang fungsi date().
Selain dengan menggunakan fungsi date(), pembuatan tanggal dapat juga dilakukan dengan fungsi mktime() dan strtotime(). Untuk pembahasan tentang fungsi mktime(), telah dijelaskan secara lebih lengkap pada Tutorial php : Memahami fungsi mktime().
Fungsi date()
Fungsi date() berfungsi dalam mengambil waktu dari server dan menampilkannya sesuai dengan format yang diminta pada script php. Syntax dari penulisan fungsi date() :
date(format,timestamp)
Keterangan :- format bersifat wajib dan menyatakan tanggal atau waktu
- timestamp bersifat opsional dan menyatakan tanggal dan waktu untuk Unix (Unix timestamp). Nilai dari tanggal dan waktu untuk Unix ini bernilai Integer. Unix timestamp ini mengembalikan nilai dalam bentuk detik saat ini dengan 1 Januari 1970. Contoh : 25 December 2013 akan dinyatakan dalam bentuk detik yaitu : 1387926000.
Sebelum kita melihat contoh penggunaan fungsi date(), terlebih dahulu kita perlu mengetahui parameter dari format date() :
UNTUK HARI
| ||
Simbol | Deskripsi | Contoh |
d | Menampilkan tanggal dalam sebulan dengan bentuk 2 digit angka, jika 1 digit diawali 0 | 01- 31 |
j | Menampilkan tanggal dalam sebulan dengan bentuk angka tanpa diawali 0 untuk 1 digit | 1 - 31 |
D | Menampilkan nama hari dalam seminggu dengan bentuk huruf sebanyak 3 digit | Mon, Sun |
l | Menampilkan nama hari dalam seminggu dengan huruf secara lengkap |
Monday, Sunday
|
N | Urutan hari dalam seminggu | 1(Monday) s.d 7(Sunday) |
S | Menampilkan nama hari dalam bentuk english ordinal sufix | st, nd, rd, th |
w |
Angka yang menunjukkan hari dalam seminggu
| 0(Sunday) s.d 6(Saturday) |
Z | Menampilkan hari dalam setahun diawali dengan angka 0 | 0 - 365 |
UNTUK MINGGU
| ||
Simbol | Deskripsi | Contoh |
W | Menampilkan urutan minggu dalam setahun. Diperknalkan pada PHP versi 4.1.0. Dalam setahun terdapat 48 minggu. | 42 (Urutan minggu dalam tahun ini) |
UNTUK BULAN
| ||
Simbol | Deskripsi | Contoh |
F | Menampilkan nama bulan dalam setahun | January - December |
m | Angka yang menunjukkan nama bulan dalam setahun dengan bentuk 2 digit. Jika 1 digit maka akan diawali dengan 0 | 01 (Untuk January) s.d 12 (December) |
M | Menampilkan nama bulan dalam setahun dengan bentuk 3 digit huruf. |
Jan - Dec
|
n | Angka yang menunjukkan bulan dalam setahun dengan bentuk 2 digit angka tanpa diawali 0 |
1 - 12
|
UNTUK TAHUN
| ||
Simbol | Deskripsi | Contoh |
y | Menampilkan tahun dalam bentuk 4 digit angka | 2011, 2012 |
Y | Menampilkan tahun dalam bentuk 2 digit angka. |
11, 12
|
UNTUK WAKTU
| ||
Simbol | Deskripsi | Contoh |
a | Menampilkan lowercase Ante meridiem dan Post merdiem | am , pm |
A | Menampilkan uppercase Ante meridiem dan Post meridiem | AM , PM |
g
| Menampilkan jam dalam sehari dengan format 12 jam tanpa diawali 0 | 1 - 12 |
G | Menampilkan jam dalam sehari dengn format 24 jam dan diawali dengan 0 |
0 - 23
|
h | Menampilkan jam dalam sehari dengan format 12 jam dan dalam bentuk 2 digit angka dan jika 1 digit angka maka diawali 0 | 01 - 12 |
H | Menampilkan jam dalam sehari dengan format 24 jam | 00 - 23 |
i |
Menampilkan menit dalam satu jam
|
00 - 59
|
s | Menampilkan detik dalam satu menit | 00 - 59 |
u |
Menampilkan mikrodetik
|
654321
|
Contoh 1
Pada contoh.1 ini kita akan menampilkan tanggal dimana bulan akan disajikan dalam bentuk angka, huruf dengan 3 digit dan huruf penuh.<?php tanggal_angka(); bulan_3digit_huruf(); bulan_huruf(); function tanggal_angka() { echo "Menampilkan tanggal dalam bentuk angka"."<br>"; echo date("m d Y")."<br>"; echo date("Y-m-d")."<br>"; echo date("d,m,Y")."<br>"; echo "<br>"; } function bulan_3digit_huruf() { echo "Menampilkan bulan dalam bentuk 3 digit huruf"."<br>"; echo date("M d Y")."<br>"; echo date("Y-M-d")."<br>"; echo date("d-M-Y")."<br>"; echo "<br>"; } function bulan_huruf() { echo "Menampilkan bulan dalam bentuk huruf"."<br>"; echo date("F d Y")."<br>"; echo date("Y-F-d")."<br>"; echo date("d/F/Y")."<br>"; echo "<br>"; } ?>Outputnya :
Menampilkan tanggal dalam bentuk angka 09 21 2016 2016-09-21 21,09,2016 Menampilkan bulan dalam bentuk 3 digit huruf Sep 21 2016 2016-Sep-21 21-Sep-2016 Menampilkan bulan dalam bentuk huruf September 21 2016 2016-September-21 21/September/2016
Contoh 2
Pada contoh.2 ini kita akan menampilkan tanggal yang disertai nama hari .<?php tanggal_dan_hari(); function tanggal_dan_hari() { echo "Menampilkan tanggal dan nama hari"."<br>"; echo date("l,m d Y")."<br>"; echo date("D,Y-M-d")."<br>"; echo date("l,d/M/Y")."<br>"; echo "<br>"; } ?>Output :
Menampilkan tanggal dan nama hari Saturday,05 21 2016 Sat,2016-May-21 Saturday,21/May/2016
Contoh 3
Pada contoh.3 ini kita akan mengimplementasikan bagaimana penggunaan date dalam mencari hari besok, bulan kemarin dan tahun depan<?php $besok = mktime(0, 0, 0, date("m"), date("d")+1, date("Y")); $bulan_kemarin = mktime(0, 0, 0, date("m")-1, date("d"), date("Y")); $tahun_depan = mktime(0, 0, 0, date("m"), date("d"), date("Y")+1); echo "Hari ini : ".date("d-M-Y")."<br>"; echo "Besok : ".date("d M Y",$besok)."<br>"; echo "Bulan kemaren : ".date("M Y", $bulan_kemarin)."<br>"; echo "Tahun depan : ".date("Y", $tahun_depan)."<br>"; ?>Output :
Hari ini : 21-May-2016 Besok : 22 May 2016 Bulan kemaren : Apr 2016 Tahun depan : 2017Untuk memahami fungsi mktime(),sillahkan baca : Memahami fungsi mktime().
Fungsi strtotime()
Fungsi strtotime() berfungsi untuk mengubah string dari tanggal atau waktu ke dalam standar timestamp Unix. Nilai keluarannya adalah jumlah detik yang dhitung sejak 1 Januari 1970.
strtotime(time,now)
Keterangan :- time menyatakan kondisi tanggal/waktu dalam bentuk string
- now bersifat opsional
Contoh 1
<?php echo strtotime("now")."<br>"; echo strtotime("25 January 2015")."<br>"; echo strtotime("+3 day")."<br>"; echo strtotime("+3 week")."<br>"; echo strtotime("+1 week 2 days 4 hours 52 seconds")."<br>"; echo strtotime("next Monday")."<br>"; echo strtotime("last Monday")."<br>"; ?>Output :
1463815570 1422140400 1464074770 1465629970 1464607622 1463954400 1463349600Seperti yang terlihat pada outputnya, hasilnya adalah dalam bentuk jumlah detik yang dihitung dari waktu yang kita inputkan dengan selisih dari 1 Januari 1970. Penggunaan strtotime memang dirasakan user friendly.