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 相关文章推荐
WindowsXP中快速配置Apache+PHP5+Mysql
Jun 05 PHP
php 将字符串按大写字母分隔成字符串数组
Apr 30 PHP
php中将数组存到文件里的实现代码
Jan 19 PHP
php笔记之:初探PHPcms模块开发介绍
Apr 26 PHP
浅析PHP绘图技术
Jul 03 PHP
php与java通过socket通信的实现代码
Oct 21 PHP
PHP中获取时间的下一周下个月的方法
Mar 18 PHP
PHP编写RESTful接口的方法
Feb 21 PHP
php实现的二分查找算法示例
Jun 20 PHP
微信开发之获取JSAPI TICKET
Jul 07 PHP
Yii2 队列 shmilyzxt/yii2-queue 简单概述
Aug 02 PHP
PHP实现根据数组某个键值大小进行排序的方法
Mar 13 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 输出双引号&quot;与单引号'的方法
2010/05/09 PHP
解决PHP mysql_query执行超时(Fatal error: Maximum execution time …)
2013/07/03 PHP
php CI框架插入一条或多条sql记录示例
2014/07/29 PHP
PHP 的比较运算与逻辑运算详解
2016/05/12 PHP
php利用imagemagick实现复古老照片效果实例
2017/02/16 PHP
jquery插件制作 手风琴Panel效果实现
2012/08/17 Javascript
javascript和HTML5利用canvas构建猜牌游戏实现算法
2013/07/17 Javascript
利用js(jquery)操作Cookie的方法说明
2013/12/19 Javascript
基于javascript的JSON格式页面展示美化方法
2014/07/02 Javascript
纯HTML5制作围住神经猫游戏-附源码下载
2015/08/23 Javascript
jquery及js实现动态加载js文件的方法
2016/01/21 Javascript
动态设置form表单的action属性的值的简单方法
2016/05/25 Javascript
Node.js环境下编写爬虫爬取维基百科内容的实例分享
2016/06/12 Javascript
浅谈JavaScript中变量和函数声明的提升
2016/08/09 Javascript
利用n工具轻松管理Node.js的版本
2017/04/21 Javascript
jQuery实现可编辑表格并生成json结果(实例代码)
2017/07/19 jQuery
node.js支持多用户web终端实现及安全方案
2017/11/29 Javascript
三分钟学会用ES7中的Async/Await进行异步编程
2018/06/14 Javascript
[07:57]DOTA2热力大趴狂欢夜 广州站活动回顾
2013/11/27 DOTA
[02:41]辉夜杯现场一家三口 “我爸玩风行 我玩血魔”
2015/12/27 DOTA
[00:52]DOTA2齐天大圣预告片
2016/08/13 DOTA
pandas.DataFrame.to_json按行转json的方法
2018/06/05 Python
Python图像处理之gif动态图的解析与合成操作详解
2018/12/30 Python
Python+OpenCV图像处理——实现直线检测
2020/10/23 Python
IE兼容css3圆角的实现代码
2011/07/21 HTML / CSS
Prototype如何实现页面局部定时刷新
2013/08/06 面试题
导游的职业规划书范文
2013/12/27 职场文书
大学校庆策划书
2014/01/31 职场文书
认识深刻的检讨书
2014/02/16 职场文书
股东协议书范本
2014/04/14 职场文书
运动会拉拉队口号
2014/06/09 职场文书
师德师风自我评价范文
2014/09/11 职场文书
委托证明模板
2014/09/16 职场文书
学习保证书100字
2015/02/26 职场文书
青涩记忆观后感
2015/06/18 职场文书
如何让vue长列表快速加载
2021/03/29 Vue.js