Hampir setiap aplikasi web membutuhkan tanggal dan waktu — mulai dari mencatat kapan artikel diterbitkan, menampilkan jam transaksi, hingga menghitung batas waktu (deadline). PHP menyediakan seperangkat fungsi PHP Date Time yang lengkap untuk menampilkan, memformat, dan mengolah waktu. Panduan ini membahasnya langkah demi langkah.
Fungsi date(): Menampilkan Waktu
Fungsi paling dasar adalah date(). Ia mengambil waktu server dan memformatnya sesuai pola yang Anda tentukan:
<?php
echo date("d-m-Y"); // 03-07-2026
echo date("H:i:s"); // 14:30:00
echo date("l, d F Y"); // Friday, 03 July 2026
?>
Setiap huruf pada pola memiliki makna khusus. Inilah yang paling sering dipakai:
| Kode | Arti | Contoh |
|---|---|---|
d | Tanggal (2 digit) | 03 |
m | Bulan (angka) | 07 |
F | Nama bulan | July |
Y | Tahun (4 digit) | 2026 |
H:i:s | Jam:menit:detik | 14:30:00 |
l | Nama hari | Friday |
Mengatur Zona Waktu
Secara default, PHP mungkin memakai zona waktu UTC. Agar sesuai waktu Indonesia (WIB), atur zona waktu di awal skrip:
<?php
date_default_timezone_set("Asia/Jakarta");
echo date("H:i"); // kini sesuai waktu Jakarta
?>
Melewatkan langkah ini adalah penyebab umum jam yang tampil “meleset” beberapa jam.
time(), mktime(), dan strtotime()
Di balik layar, PHP menyimpan waktu sebagai timestamp — jumlah detik sejak 1 Januari 1970. Beberapa fungsi penting:
<?php
echo time(); // timestamp saat ini
// membuat timestamp dari tanggal tertentu (jam,menit,detik,bln,tgl,thn)
echo date("d-m-Y", mktime(0,0,0,12,25,2026)); // 25-12-2026
// mengubah teks jadi tanggal
echo date("d-m-Y", strtotime("+1 week")); // seminggu ke depan
echo date("d-m-Y", strtotime("2026-01-01")); // 01-01-2026
?>
Fungsi strtotime() sangat fleksibel — ia memahami frasa seperti “tomorrow”, “+3 days”, atau “next monday”.
Menghitung Selisih Tanggal dengan DateTime
Untuk perhitungan yang lebih akurat, gunakan class DateTime:
<?php
$mulai = new DateTime("2026-01-01");
$selesai = new DateTime("2026-07-03");
$selisih = $mulai->diff($selesai);
echo $selisih->days . " hari"; // 183 hari
?>
Contoh Praktik: Menghitung Umur
<?php
$lahir = new DateTime("2000-05-17");
$umur = $lahir->diff(new DateTime());
echo "Umur: " . $umur->y . " tahun";
?>
Kesalahan Umum
- Lupa mengatur zona waktu, sehingga jam tidak sesuai lokasi.
- Membandingkan tanggal sebagai teks. Selalu ubah ke DateTime atau timestamp dulu.
Kesimpulan
Dengan menguasai PHP Date Time — mulai dari date(), pengaturan zona waktu, hingga class DateTime — Anda dapat menampilkan dan menghitung waktu secara akurat untuk berbagai kebutuhan aplikasi.
Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi PHP (php.net).

