Sunday - May 18, 2008

Home | Site Map | Channels | Profile | Press Room | Services | Contact 

currently 10 user(s) online

search 

   Latest News

»

sony-ak.com Luncurkan Kamus Teknologi Informasi (May 27, 2006)

»

sony-ak.com Luncurkan IT Event Calendar (May 20, 2006)

»

Web Chat Berbasis AJAX dari sony-ak.com (May 09, 2006)

»

sony-ak.com Advertising Program (May 01, 2006)

»

Sony AK di Tabloid PCplus (April 18, 2006)

news archives » 


   Random Article

»

Mengenal Virus Komputer - Part V: Anti-virus, Pembuat Virus dan Sejarah Virus (12220)

»

Mengenal Session Initiation Protocol (SIP) (2244)

»

Merubah Password User SYSDBA Pada Firebird 1.5.x (2591)

»

SQL Injection Menggunakan ASP dan MS SQL Server (6617)

»

SQL Server 2000: Contoh ANSI SQL Dibandingkan dengan T-SQL (3064)

   Newsletter

Join our newsletter, you will get alert about content updates

powered by Yahoo! Groups















Nedstat Basic - Free web site statistics

 
 
Mencari Durasi Antar Dua Tanggal dengan PHP

Author: Sony Arianto Kurniawan
Published: February 12, 2005
Visits: 3011 - Category:
PHP
 
     
 

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




 Recommended articles
 

»

Membuat Web Counter Dengan Menggunakan ASP dan Object FileSystemObject (3580)

»

Coyote Linux: Linux Single Floppy untuk Solusi Internet Gateway (NAT) yang Murah dan Efektif (4356)

»

Mengenal Tiga Macam Tampilan Website (4384)

»

Tips Google AdSense: Cara Mengubah Username Account (E-Mail) (3658)

»

Dumping dan Restore Database Pada MySQL (3777)

 Send your comments or suggestions
Full Name :
E-mail :
Comments :
 
 

  Privacy | Site Map | Advertise

  Copyright © 2003 - 2006 Sony AK Knowledge Center - all rights reserved

  info@sony-ak.com