您现在的位置: 365建站网 > 365文章 > PHP中对日期加减的类,很不错

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

文章来源:365jz.com     点击数:157    更新时间:2009-10-12 09:40   参与评论

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


如果一切顺利,你可以看到以下结果:
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 ;   


如果一切顺利,你可以看到以下结果:
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.       
  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  += $number break ;   
  16.            case   "q" $month  +=( $number *3);  break ;   
  17.            case   "m" $month  += $number break ;   
  18.            case   "y" :   
  19.            case   "d" :   
  20.            case   "w" $day += $number break ;   
  21.            case   "ww" $day +=( $number *7);  break ;   
  22.            case   "h" $hours += $number break ;   
  23.            case   "n" $minutes += $number break ;   
  24.            case   "s" $seconds += $number break ;   
  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  =  $timedifference break ;   
  38.         }   
  39.          return   $retval ;   
  40.     }   
  41.  }   
  42. ?> 

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛

发表评论 (157人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
昵称:
最新评论
------分隔线----------------------------

快速入口

· 365软件
· 杰创官网
· 建站工具
· 网站大全

其它栏目

· 建站教程
· 365学习

业务咨询

· 技术支持
· 服务时间:9:00-18:00
365建站网二维码

Powered by 365建站网 RSS地图 HTML地图

copyright © 2013-2024 版权所有 鄂ICP备17013400号