Version: 0.0.1

Type: Class

Category: Calendars/Dates

License: GNU General Public License

Description: Originally ctreated by sid trivedi on php manual.



<?php
/**************************************************************
# TITLE : Object Oriented Approach to countdown to any particular date or event           *
# Same procedural snipped is posted in Help Manual ---> date()
# http://www.php.net/manual/en/function.date.php
# If you compare both snippets, It would be easy to understand PHP-OOPs!
***************************************************************/

//Any of following input can be retrieved by GET OR POST.
//Input is set for New Year event.
$year = '2009';
$month= '01';
$day = '01';
$hour = '00';
$minute = '00';
$second = '00';
$date = array($hour,$minute,$second,$month,$day,$year);

//Defining class bt keyword class
class DateCountDown {

//Class member definition - Easy to remember class members
var $year = "";
var $month= "";
var $day = "";
var $hour = "";
var $minute = "";
var $second = "";
var $date = "";
var $dl = "";
var $hl = "";
var $ml = "";
var $sl = "";
var $return = "";

//Countdown to particular Function
function countdown(){
  global $return;
  global $countdown_date;
  global $date;
  list ($hour, $minute, $second, $month, $day, $year)= $date;
  $countdown_date = mktime($hour, $minute, $second, $month, $day, $year);
  $today = time();
  $diff = $countdown_date - $today;
  if ($diff < 0)$diff = 0;
  $dl = floor($diff/60/60/24);
  $hl = floor(($diff - $dl*60*60*24)/60/60);
  $ml = floor(($diff - $dl*60*60*24 - $hl*60*60)/60);
  $sl = floor(($diff - $dl*60*60*24 - $hl*60*60 - $ml*60));
// OUTPUT
$return = array($dl, $hl, $ml, $sl);
return ($return);
}
}
//Making New Object for the class CountDownDate
$date_obj = new DateCountDown($date);
//Function (Method) call by an object to function countdown
$date_obj -> countdown();

//Making varialbes $dl => Days Left, $hl => Hours Left and so on from $return array
list($dl,$hl,$ml,$sl) = $return;

//Browser Output
echo "Today's date ".date("F j, Y, g:i:s A")."<br/>";
echo "Countdown date ".date("F j, Y, g:i:s A",$countdown_date)."<br/>";
echo "\n<br>";
echo "Countdown ".$dl." days ".$hl." hours ".$ml." minutes ".$sl." seconds left"."\n<br>";
/*
Above snippet produces following output:

Today's date February 11, 2008, XX:XX:XX PM
Countdown date January 1, 2009, 12:00:00 AM

Countdown 324 days XX hours XX minutes XX seconds left
*/
?>