PHP中对日期加减的类,很不错

Posted on 2008-08-15 10:20  flourish  阅读(595)  评论(0)    收藏  举报
PHP中对日期操作的函数功能强大,下面的代码是PHP对日期加减的类,很不错,有需要的朋友可以用一下。
如何使用这个类呢?请看下面的演示:
  1. $temptime = time();   
  2. echo strftime"%Hh%M %A %d %b",$temptime);   
  3. $date = new DateAccount();   
  4. $temptime = $date->DateAdd("n" ,50,$temptime);   
  5. echo "<p>";   
  6. echo strftime"%Hh%M %A %d %b",$temptime);   

如果一切顺利,你可以看到以下结果:
15h41 Saturday 03 Jun
16h31 Saturday 03 Jun


  1. $currenttime = time();   
  2. echo "Current time: "strftime("%Hh%M %A %d %b" ,$currenttime)."<br>";   
  3. $date = new DateAccount();   
  4. $newtime = $date->DateAdd ("n",50 ,$currenttime);   
  5. echo "Time plus 50 minutes: "strftime("%Hh%M %A %d %b" ,$newtime)."<br>";   
  6. $temptime = $date->DateDiff ("n",$currenttime ,$newtime);   
  7. echo "Interval between two times: ".$temptime;   

如果一切顺利,你可以看到以下结果:
Current time: 16h23 Saturday 03 Jun
Time plus 50 minutes: 17h13 Saturday 03 Jun
Interval between two times: 50

  1. <?php   
  2.  class DateAccount{   
  3.      function __construct(){   
  4.      }   
  5.       
  6.      function DateAdd ($interval,$number$date) {   
  7.         $date_time_array = getdate($date);   
  8.         $hours = $date_time_array["hours"];   
  9.         $minutes = $date_time_array["minutes"];   
  10.         $seconds = $date_time_array["seconds"];   
  11.         $month = $date_time_array["mon"];   
  12.         $day = $date_time_array["mday"];   
  13.         $year = $date_time_array["year"];   
  14.         switch ($interval) {   
  15.           case "yyyy"$year +=$numberbreak;   
  16.           case "q"$month +=($number*3); break;   
  17.           case "m"$month +=$numberbreak;   
  18.           case "y":   
  19.           case "d":   
  20.           case "w"$day+=$numberbreak;   
  21.           case "ww"$day+=($number*7); break;   
  22.           case "h"$hours+=$numberbreak;   
  23.           case "n"$minutes+=$numberbreak;   
  24.           case "s"$seconds+=$numberbreak;   
  25.         }   
  26.         $timestamp = mktime($hours ,$minutes$seconds,$month ,$day$year);   
  27.         return $timestamp;   
  28.    }   
  29.      
  30.    function DateDiff ($interval,$date1,$date2) {   
  31.         $timedifference = $date2 - $date1;   
  32.         switch ($interval) {   
  33.           case "w"$retval = bcdiv($timedifference ,604800); break;   
  34.           case "d"$retval = bcdiv$timedifference,86400); break;   
  35.           case "h"$retval = bcdiv ($timedifference,3600); break;   
  36.           case "n"$retval = bcdiv$timedifference,60); break;   
  37.           case "s"$retval = $timedifferencebreak;   
  38.         }   
  39.         return $retval;   
  40.     }   
  41.  }   
  42. ?>  

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3