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 相关文章推荐
打造计数器DIY三步曲(中)
Oct 09 PHP
PHP写入WRITE编码为UTF8的文件的实现代码
Jul 07 PHP
php FPDF类库应用实现代码
Mar 20 PHP
php插入中文到sqlserver 2008里出现乱码的解决办法分享
Jul 19 PHP
php实现简单洗牌算法
Jun 18 PHP
php连接oracle数据库及查询数据的方法
Dec 29 PHP
php+mysql实现简单的增删改查功能
Jul 13 PHP
php ajax异步读取rss文档数据
Mar 29 PHP
PHP自定义错误用法示例
Sep 28 PHP
老生常谈ThinkPHP中的行为扩展和插件(推荐)
May 05 PHP
PHP用swoole+websocket和redis实现web一对一聊天
Nov 05 PHP
PHP利用curl发送HTTP请求的实例代码
Jul 09 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 Smarty 字符比较代码
2011/02/27 PHP
探讨PHP使用eAccelerator的API开发详解
2013/06/09 PHP
本地机apache配置基于域名的虚拟主机详解
2013/08/10 PHP
PHP编程实现阳历转换为阴历的方法实例
2017/08/08 PHP
javascript 读取xml,写入xml 实现代码
2009/07/10 Javascript
JavaScript 存在陷阱 删除某一区域所有节点
2010/05/10 Javascript
Jquery ThickBox插件使用心得(不建议使用)
2010/09/08 Javascript
javascript检测页面是否缩放的小例子
2013/05/16 Javascript
JavaScript跨域调用基于JSON的RESTful API
2016/07/09 Javascript
javascript实现根据汉字获取简拼
2016/09/25 Javascript
详解vue mixins和extends的巧妙用法
2017/12/20 Javascript
ES6之模版字符串的具体使用
2018/05/17 Javascript
vue+axios 前端实现的常用拦截的代码示例
2018/08/23 Javascript
在layui中对table中的数据进行判断(0、1)转换为提示信息的方法
2019/09/28 Javascript
[01:13:46]iG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[46:23]完美世界DOTA2联赛PWL S2 FTD vs Magma 第一场 11.20
2020/11/23 DOTA
python将多个文本文件合并为一个文本的代码(便于搜索)
2011/03/13 Python
python基于urllib实现按照百度音乐分类下载mp3的方法
2015/05/25 Python
python下如何查询CS反恐精英的服务器信息
2017/01/17 Python
python操作mysql数据库
2017/03/05 Python
Python实现Linux的find命令实例分享
2017/06/04 Python
用Python实现BP神经网络(附代码)
2019/07/10 Python
基于Django框架的权限组件rbac实例讲解
2019/08/31 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
2020/04/08 Python
Python selenium键盘鼠标事件实现过程详解
2020/07/28 Python
Python自动化测试基础必备知识点总结
2021/02/07 Python
大型营销活动计划书
2014/04/28 职场文书
充分就业社区汇报材料
2014/05/07 职场文书
党员组织生活会发言材料
2014/10/17 职场文书
护士先进个人总结
2015/02/13 职场文书
研讨会致辞
2015/07/31 职场文书
少先队大队委竞选口号
2015/12/25 职场文书
Redis缓存-序列化对象存储乱码问题的解决
2021/06/21 Redis
浅谈 JavaScript 沙箱Sandbox
2021/11/02 Javascript
Java练习之潜艇小游戏的实现
2022/03/16 Java/Android
Vue3中toRef与toRefs的区别
2022/03/24 Vue.js