|
Beberapa saat yang lalu penulis ditanya mengenai cara untuk mencari
durasi waktu antar dua buah tanggal dengan menggunakan PHP. Sebenarnya
tulisan mengenai sudah ada di situs php.net. Melalui tulisan kali ini
penulis hanya ingin mengutip source code dari php.net untuk mencari
durasi antar dua buah tanggal seperti layaknya fungsi datediff pada
Visual Basic 6.0. Fungsi ini dibuat oleh seseorang yang mempunyai email
andreencinas[at]yahoo[dot]com[dot]br dan di posting pada tanggal 18
Januari 2005 di situs php.net.
function dateDiff($interval,$dateTimeBegin,$dateTimeEnd) {
//Parse about any English textual datetime
//$dateTimeBegin, $dateTimeEnd
$dateTimeBegin=strtotime($dateTimeBegin);
if($dateTimeBegin === -1) {
return("..begin date Invalid");
}
$dateTimeEnd=strtotime($dateTimeEnd);
if($dateTimeEnd === -1) {
return("..end date Invalid");
}
$dif=$dateTimeEnd - $dateTimeBegin;
switch($interval) {
case "s"://seconds
return($dif);
case "n"://minutes
return(floor($dif/60)); //60s=1m
case "h"://hours
return(floor($dif/3600)); //3600s=1h
case "d"://days
return(floor($dif/86400)); //86400s=1d
case "ww"://Week
return(floor($dif/604800)); //604800s=1week=1semana
case "m": //similar result "m" dateDiff Microsoft
$monthBegin=(date("Y",$dateTimeBegin)*12)+
date("n",$dateTimeBegin);
$monthEnd=(date("Y",$dateTimeEnd)*12)+
date("n",$dateTimeEnd);
$monthDiff=$monthEnd-$monthBegin;
return($monthDiff);
case "yyyy": //similar result "yyyy" dateDiff Microsoft
return(date("Y",$dateTimeEnd) - date("Y",$dateTimeBegin));
default:
return(floor($dif/86400)); //86400s=1d
}
}
Fungsi dateDiff di atas menggunakan 3 (tiga) buah parameter yaitu
$interval, $dateTimeBegin dan $dateTimeEnd. Parameter $interval
digunakan untuk menentukan jenis satuan durasi antar waktu yang
diinginkan. Tersedia beberapa pilihan jenis durasi disana, mulai dari
detik, menit, jam, hari, minggu, bulan atau bahkan tahun. Parameter
$dateTimeBegin dan $dateTimeEnd penulis rasa sudah bisa dimengerti
artinya, yaitu digunakan untuk memasukkan tanggal-tanggal yang akan
diukur durasinya.
Cara penggunaan fungsi dateDiff di atas sangat mudah sekali. Cukup
paste code di atas pada script PHP Anda dan kemudian panggil fungsi
dateDiff dengan memasukkan ketiga parameter yang ada. Contohnya adalah
sebagai berikut:
<? echo dateDiff("d","2005/02/12","2006/02/14"); ?>
Contoh tersebut akan mencari durasi dalam satuan hari antara tanggal
12 Februari 2005 sampai dengan 14 Februari 2006.
Demikianlah tulisan singkat tentang mencari durasi waktu dengan
menggunakan PHP. Semoga bermanfaat bagi Anda semua. Saran dan komentar
bisa dikirimkan melalui e-mail ke
sony-ak@sony-ak.com. Untuk membaca
tulisan menarik lainnya silakan menuju ke situs Sony AK Knowledge
Center yang ada pada alamat
www.sony-ak.com.
Terimakasih.
Referensi: http://id.php.net/datetime
| Send
your comments or suggestions |
|
|
|