Dear Sirs,
 
I wrote a class for date calculations. You can read it below as well as an example. Attached also.
 
I recall someone asked a few days ago about 20 day forward date. This class provides a solution for it.
 
I submitted it also to phpclasses.com script library.
 
Please, feel free to use it and change it as well.
 
Best Regards,
 
------------------------------------------------------------------------------
<?php
/*-------------------------------------------*
|  script: cdate.php                         |
| code of class CDate for                    |
| date manipulation                          |
| entry data: year, month and day            |
|  (in absence: current date is default)     |
| exit through method ReadDate() who         |
| returns date in format date("Y-m-d")       |
|                                            |
| Author: Emilio Antonio Rodríguez Padrón    |
| e-mail: [EMAIL PROTECTED]              |
|                                            |
| date: July 22, 2003                        |
*--------------------------------------------*/
 
class CDate
{
  var $mDate;   // in actual OOP it should be private
 
  function CDate($y=0,$m=0,$d=0)
  {
    If ($y==0) // these three "if" are necessary because default parameters must be constants.
 { $y=Date("Y"); }
 If ($m==0)
 { $m=Date("m"); }
 if ($d==0)
 { $d=Date("d"); }
    $this -> mDate = Date("Y-m-d",mktime(0,0,0,$m,$d,$y));
  }  // end of constructor
 
  function AddTime($y=0,$m=0,$d=0) // this method adds y years, m months and d days to date
  {
    $array_date = explode("-",$this->mDate);
$this->mDate=Date("Y-m-d",mktime(0,0,0,$array_date[1]+$m,$array_date[2]+$d,$array_date[0]+$y));
  }  // end of AddTime
 
  // If you are a rigorous man, the following method should be your way to access date
  function ReadDate()
  {
    return $this->mDate;  // you get the date in same format as Date("Y-m-d")
  }  // ends of ReadDate
 
}  // end of declaration class CDate
?>
--------------------------------------------------------------------------------------------------------------------------------------------------
<?php
// script example.php
// uses class CDate
// for date of tomorrow calculation
 
include("cdate.php");
$tomorrow = new CDate();
$tomorrow -> AddTime(0,0,1);
echo "Date of tomorrow is: ".$tomorrow->ReadDate();
 
echo "<br /><br />";
 
$ CDate(2003,7,4);
$OneMonthAfterJuly4 -> AddTime(0,1,0);
echo "Date of one month after July 4, 2003 is: ".$OneMonthAfterJuly4 -> ReadDate();
 
?>
-- 
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to