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目录管理函数小结
Sep 10 PHP
php从数组中随机抽取一些元素的代码
Nov 05 PHP
浅析SVN常见问题及解决方法
Jun 21 PHP
php连接函数implode与分割explode的深入解析
Jun 26 PHP
使用PHP Socket 编程模拟Http post和get请求
Nov 25 PHP
PHP实现将HTML5中Canvas图像保存到服务器的方法
Nov 28 PHP
PHP中require和include路径问题详解
Dec 25 PHP
PHP代码判断设备是手机还是平板电脑(两种方法)
Oct 19 PHP
深入理解PHP内核(二)之SAPI探究
Nov 10 PHP
PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
Mar 21 PHP
PHP7扩展开发教程之Hello World实现方法示例
Aug 03 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生成zip压缩包的常用方法示例
2019/08/22 PHP
?牟┛途W扣了一??效果出?? target=
2007/05/27 Javascript
jqPlot Option配置对象详解
2009/07/25 Javascript
JQuery Tips(4) 一些关于提高JQuery性能的Tips
2009/12/19 Javascript
jQuery中将函数赋值给变量的调用方法
2012/03/23 Javascript
Jquery和JS用外部变量获取Ajax返回的参数值的方法实例(超简单)
2013/06/17 Javascript
jQuery 获取和设置select下拉框的值实现代码
2013/11/08 Javascript
JS和css实现检测移动设备方向的变化并判断横竖屏幕
2015/05/25 Javascript
js实现Select列表内容自动滚动效果代码
2015/08/20 Javascript
详解javascript的变量与标识符
2016/01/04 Javascript
jQuery ajax全局函数处理session过期后的ajax跳转问题
2016/06/03 Javascript
JS实现图片的不间断连续滚动的简单实例
2016/06/03 Javascript
jQuery删除节点用法示例(remove方法)
2016/09/08 Javascript
如何使用angularJs
2017/05/08 Javascript
详解Vue2.0配置mint-ui踩过的那些坑
2018/04/23 Javascript
仿ElementUI实现一个Form表单的实现代码
2019/04/23 Javascript
[41:05]Serenity vs Pain 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[01:06]DOTA2小知识课堂 Ep.01 TP出门不要忘记帮队友灌瓶哦
2019/12/05 DOTA
使用Python抓取模板之家的CSS模板
2015/03/16 Python
Python中你应该知道的一些内置函数
2017/03/31 Python
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
2017/06/20 Python
Python 利用内置set函数对字符串和列表进行去重的方法
2018/06/29 Python
用python实现k近邻算法的示例代码
2018/09/06 Python
Python不同目录间进行模块调用的实现方法
2019/01/29 Python
python利用后缀表达式实现计算器功能
2021/02/22 Python
实现CSS3中的border-radius(边框圆角)示例代码
2013/07/19 HTML / CSS
Famous Footwear加拿大:美国多品牌运动休闲鞋店
2018/12/05 全球购物
一套带答案的C++笔试题
2014/01/10 面试题
管理心得体会
2013/12/28 职场文书
人力资源专员岗位职责
2014/01/30 职场文书
促销活动总结
2014/04/28 职场文书
给校长的建议书200字
2014/05/16 职场文书
廉洁校园实施方案
2014/05/25 职场文书
安全教育的主题班会
2015/08/13 职场文书
车间班组长竞聘书
2015/09/15 职场文书
浅谈redis五大数据结构和使用场景
2021/04/12 Redis