Tanggal pada PHP


07/10/2016 05:28:14 204

Tanggal atau waktu dalam aplikasi sering digunakan untuk mencatat waktu ketika suatu record dibuat, ketika suatu record diubah atau memberikan informasi waktu ketika suatu informasi diberikan kepada pengguna. Dalam e-commerce atau sistem transaksi waktu sangatlah penting, seperti memberi batasan kapan suatu pesanan harus dibayar dan sebagainya.

Pada bahasa pemrograman PHP, terdapat banyak fungsi yang berhubungan dengan tanggal seperti date(), date_format(), time() dan seterusnya.

time()

Fungsi time digunakan untuk menghasilkan nilai integer Timestamp, dimana nilai ini ialah dalam bentuk detik yang berisi informasi tahun, bulan, tanggal, jam, menit dan detik, yang dihitung dari Januari 1970 00:00:00 GMT.

Berikut ialah contoh menggunakan time()

$sekarang = time();

$besok = time() + (24 * 60 * 60);

$mingguDepan = time() + (7 * 24 * 60 * 60);

date($format [, int $timestamp = time()])

Fungsi date() digunakan untuk menghasilkan tanggal saat ini berdasarkan suatu format yang diinginkan atau format suatu tanggal berdasarkan inputan timestamp yang berasal dari fungsi time() jika diberikan.

Parameter $format

Parameter format ($format) ialah format yang dihasilkan ketika fungsi ini dijalankan. Misalkan format berisi "Y-m-d" maka akan menghasilkan "2016-10-07", dimana Y digunakan untuk tahun yang ditulis secara penuh, m untuk memberikan nilai integer bulan, dan d untuk memberikan nilai integer tanggal. Berikut ialah format yang dapat digunakan

Karakter Format Dekripsi Contoh Luaran
d Hari dari suatu bulan, 2 digit, diawali dengan 0 jika kurang dari 10 01 sampai 31
D Teks representasi hari, tiga karakter Mon sampai Sun
j Hari dari suatu bulan, 2 digit, tidak diawali dengan 0 jika kurang dari 10 1 to 31
l (lowercase 'L') Teks penuh untuk merepresentasi hari Sunday sampai Saturday
N ISO-8601 representasi angka dari hari pada satu minggu 1 (Senin) sampai 7 (Minggu)
w Representasi angka dari hari pada satu minggu 0 (Minggu) sampai 6 (Sabtu)
z Numerik hari dalam satu tahun 0 sampai 365
Minggu --- ---
W ISO-8601 Nomor minggu dalam satu tahun, seminggu dimulai dari senin Contoh: 42 (Minggu ke-42 dalam satu tahun)
Bulan --- ---
F Teks penuh untuk merepresentasikan bulan January sampai December
m Representasi angka dari bulan, dua digit, diawali dengan 0 jika satu digit 01 sampai 12
M Representasi singkatan bulan, 3 digit Jan sampai Dec
n Representasi angka dari bulan 1 through 12
t Jumlah hari dalam bulan yang diberikan 28 sampai 31
Year --- ---
L Mengecek apakah tahun kabisat 1 jika tahun kabisat, 0 jika bukan.
Y Representasi tahun secara penuh, 4 digit Contoh: 1999 atau 2016
y Representasi tahun, 2 digit Contoh: 99 atau 16
Waktu --- ---
a Huruf kecil sebelum meridiem dan sesudah meridiem am atau pm
A Huruf kapital sebelum meridiem dan sesudah meridiem AM atau PM
g format 12 jam dari waktu 1 sampai 12
G Format 24 jam 0 sampai 23
h Format 14 jam, dua digit 01 sampai 12
H Format 24 jam, dua digit 00 sampai 23
i Menit, 2 digit 00 to 59
s Detik, dua digit 00 sampai 59

Parameter timestamp

Parameter ini ialah bersifat optional. Jika tidak diisi maka akan mengembalikan tanggal saat ini berdasarkan format yang berikan. Sedangkan jika diberikan maka akan mengembalikan tanggal berdasarkan inputan integer timestamp yang berikan. integer timestamp dapat diperoleh dari fungsi time().

Contoh:

echo date("d/m/Y"); // Output 07/10/2016

//Besok
$besok = time() + 24 * 60 * 60;
echo date("d/m/Y", $besok); // Output 08/10/2016

Memformat tanggal DateTime::format

Suatu tanggal kadang memiliki format tersendiri, contoh format tanggal yang dihasilkan dari database memiliki format 2017-10-09 atau Y-m-d. Untuk merubah format sesuai dengan yang kita perlukan dapat menggunakan fungsi PHP. Sebagai code berikut:

Style OOP

$tanggal = new DateTime("2017-10-09");
echo $tanggal->format("d/m/Y");
// Ouput: 09/10/2016

Style Prosedural

$date = date_create("2017-10-09");
echo date_format("d/m/Y");
// Ouput: 09/10/2016