天天看点

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

PHP中对日期操作的函数功能强大,下面的代码是PHP对日期加减的类,很不错,有需要的朋友可以用一下。

如何使用这个类呢?请看下面的演示:

view plain copy to clipboard print ?

  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 );   

$temptime = time();

echo strftime( "%Hh%M %A %d %b",$temptime);

$date = new DateAccount();

$temptime = $date->DateAdd("n" ,50,$temptime);

echo "<p>";

echo strftime( "%Hh%M %A %d %b",$temptime);

如果一切顺利,你可以看到以下结果:

15h41 Saturday 03 Jun

16h31 Saturday 03 Jun

view plain copy to clipboard print ?

  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 ;   

$currenttime = time();

echo "Current time: ". strftime("%Hh%M %A %d %b" ,$currenttime)."<br>";

$date = new DateAccount();

$newtime = $date->DateAdd ("n",50 ,$currenttime);

echo "Time plus 50 minutes: ". strftime("%Hh%M %A %d %b" ,$newtime)."<br>";

$temptime = $date->DateDiff ("n",$currenttime ,$newtime);

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

view plain copy to clipboard print ?

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