PHP 日期加减的类,很不错


Posted in PHP onOctober 10, 2009

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

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

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

$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
<?php 
class DateAccount{ 
function __construct(){ 
} 
function DateAdd ( $interval , $number , $date ) { 
$date_time_array = getdate ( $date ); 
$hours = $date_time_array [ "hours" ]; 
$minutes = $date_time_array [ "minutes" ]; 
$seconds = $date_time_array [ "seconds" ]; 
$month = $date_time_array [ "mon" ]; 
$day = $date_time_array [ "mday" ]; 
$year = $date_time_array [ "year" ]; 
switch ( $interval ) { 
case "yyyy" : $year += $number ; break ; 
case "q" : $month +=( $number *3); break ; 
case "m" : $month += $number ; break ; 
case "y" : 
case "d" : 
case "w" : $day += $number ; break ; 
case "ww" : $day +=( $number *7); break ; 
case "h" : $hours += $number ; break ; 
case "n" : $minutes += $number ; break ; 
case "s" : $seconds += $number ; break ; 
} 
$timestamp = mktime ( $hours , $minutes , $seconds , $month , $day , $year ); 
return $timestamp ; 
} 
function DateDiff ( $interval , $date1 , $date2 ) { 
$timedifference = $date2 - $date1 ; 
switch ( $interval ) { 
case "w" : $retval = bcdiv ( $timedifference ,604800); break ; 
case "d" : $retval = bcdiv ( $timedifference ,86400); break ; 
case "h" : $retval = bcdiv ( $timedifference ,3600); break ; 
case "n" : $retval = bcdiv ( $timedifference ,60); break ; 
case "s" : $retval = $timedifference ; break ; 
} 
return $retval ; 
} 
} 
?>
PHP 相关文章推荐
如何获得PHP相关资料
Oct 09 PHP
php数组函数序列之array_push() 数组尾部添加一个或多个元素(入栈),返回新长度。
Nov 07 PHP
PHP实现更新中间关联表数据的两种方法
Sep 01 PHP
PHP获取文件扩展名的4种方法
Nov 24 PHP
PHP远程调试之XDEBUG
Dec 29 PHP
Yii2超好用的日期和时间组件(值得收藏)
May 05 PHP
php实现给二维数组中所有一维数组添加值的方法
Feb 04 PHP
PHP迭代与递归实现无限级分类
Aug 28 PHP
Laravel框架模型的创建及模型对数据操作示例
May 07 PHP
基于PHP+mysql实现新闻发布系统的开发
Aug 06 PHP
PHP如何通过带尾指针的链表实现'队列'
Oct 22 PHP
PHP之header函数详解
Mar 02 PHP
全世界最小的php网页木马一枚 附PHP木马的防范方法
Oct 09 #PHP
PHP 字符串分割和比较
Oct 06 #PHP
PHP parse_url 一个好用的函数
Oct 03 #PHP
php面向对象全攻略 (十七) 自动加载类
Sep 30 #PHP
php面向对象全攻略 (十六) 对象的串行化
Sep 30 #PHP
php面向对象全攻略 (十五) 多态的应用
Sep 30 #PHP
php面向对象全攻略 (十四) php5接口技术
Sep 30 #PHP
You might like
php str_pad() 将字符串填充成指定长度的字符串
2010/02/23 PHP
php中的观察者模式
2010/03/24 PHP
php使用pack处理二进制文件的方法
2014/07/03 PHP
JavaScript 特殊字符
2007/04/05 Javascript
JS代码判断IE6,IE7,IE8,IE9的函数代码
2013/08/02 Javascript
JS兼容浏览器的导出Excel(CSV)文件的方法
2014/05/03 Javascript
一个JavaScript获取元素当前高度的实例
2014/10/29 Javascript
Jquery实现鼠标移动放大图片功能实例
2015/03/25 Javascript
原生js配合cookie制作保存路径的拖拽
2015/12/29 Javascript
基于javascript实现精确到毫秒的倒计时限时抢购
2016/04/17 Javascript
实例解析jQuery中如何取消后续执行内容
2016/12/01 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)
2016/12/02 Javascript
深入研究React中setState源码
2017/11/17 Javascript
解决vue attr取不到属性值的问题
2018/09/18 Javascript
Node.js控制台彩色输出的方法与原理实例详解
2019/12/01 Javascript
Vue路由守卫及页面登录权限控制的设置方法(两种)
2020/03/31 Javascript
JavaScript中EventBus实现对象之间通信
2020/10/18 Javascript
Python中的变量和作用域详解
2016/07/13 Python
Python向MySQL批量插数据的实例讲解
2018/03/31 Python
Python连接Mssql基础教程之Python库pymssql
2018/09/16 Python
python针对不定分隔符切割提取字符串的方法
2018/10/26 Python
如何在python中写hive脚本
2019/11/08 Python
Python使用configparser库读取配置文件
2020/02/22 Python
加拿大著名时装品牌:SOIA & KYO
2016/08/23 全球购物
法国综合购物网站:RueDuCommerce
2016/09/12 全球购物
管理信息系学生的自我评价
2014/01/11 职场文书
有趣的广告词
2014/03/18 职场文书
委托协议书范本
2014/04/22 职场文书
就业协议书范本
2014/10/08 职场文书
大学感恩节活动总结
2015/05/05 职场文书
2016秋季田径运动会广播稿
2015/12/21 职场文书
学校学习型党组织建设心得体会
2019/06/21 职场文书
员工保密协议范本,您一定得收藏!很有用!
2019/08/08 职场文书
MySQL之高可用集群部署及故障切换实现
2021/04/22 MySQL
Golang 实现获取当前函数名称和文件行号等操作
2021/05/08 Golang
Python pyecharts绘制条形图详解
2022/04/02 Python