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 相关文章推荐
example1.php
Oct 09 PHP
PHP的一个完整SMTP类(解决邮件服务器需要验证时的问题)
Oct 09 PHP
PHP 杂谈《重构-改善既有代码的设计》之三 重新组织数据
Apr 09 PHP
ThinkPHP的Widget扩展实例
Jun 19 PHP
使用php方法curl抓取AJAX异步内容思路分析及代码分享
Aug 25 PHP
php使用unset()删除数组中某个单元(键)的方法
Feb 17 PHP
PHP借助phpmailer发送邮件
May 11 PHP
swoole和websocket简单聊天室开发
Nov 18 PHP
php实现往pdf中加数字签名操作示例【附源码下载】
Aug 07 PHP
PHP序列化的四种实现方法与横向对比
Nov 29 PHP
Laravel框架表单验证操作实例分析
Sep 30 PHP
PHP实用小技巧之调用录像的方法
Dec 05 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
2008/03/27 PHP
PHP扩展开发入门教程
2015/02/26 PHP
从wamp到xampp的升级之路
2015/04/08 PHP
php判断用户是否手机访问代码
2015/06/08 PHP
thinkPHP框架中layer.js的封装与使用方法示例
2019/01/18 PHP
支持ie与FireFox的剪切板操作代码
2009/09/28 Javascript
jquery select(列表)的操作(取值/赋值)
2011/03/16 Javascript
js判断变量是否未定义的代码
2020/03/28 Javascript
JS前端框架关于重构的失败经验分享
2013/03/17 Javascript
NodeJS Web应用监听sock文件实例
2015/02/18 NodeJs
AngularJS中的Directive实现延迟加载
2016/01/25 Javascript
zTree插件下拉树使用入门教程
2016/04/11 Javascript
详解JavaScript实现设计模式中的适配器模式的方法
2016/05/18 Javascript
详解React 16 中的异常处理
2017/07/28 Javascript
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
2017/09/06 Javascript
微信小程序自定义tab实现多层tab嵌套功能
2018/06/15 Javascript
bootstrap datepicker的基本使用教程
2019/07/09 Javascript
keep-alive不能缓存多层级路由菜单问题解决
2020/03/10 Javascript
用Python进行基础的函数式编程的教程
2015/03/31 Python
用Python代码来解图片迷宫的方法整理
2015/04/02 Python
window下eclipse安装python插件教程
2017/04/24 Python
python实现日常记账本小程序
2018/03/10 Python
python的pandas工具包,保存.csv文件时不要表头的实例
2018/06/14 Python
在Pandas中处理NaN值的方法
2019/06/25 Python
PyQt Qt Designer工具的布局管理详解
2019/08/07 Python
Python Django中间件,中间件函数,全局异常处理操作示例
2019/11/08 Python
Python多进程编程multiprocessing代码实例
2020/03/12 Python
python实现画图工具
2020/08/27 Python
纯CSS3实现8组超炫酷鼠标滑过图片动画
2016/03/16 HTML / CSS
详解CSS3的opacity属性设置透明效果的用法
2016/05/09 HTML / CSS
SHEIN香港:价格实惠的女性时尚服装
2018/08/14 全球购物
几个Shell Script面试题
2014/04/18 面试题
体育教育专业自荐信范文
2013/12/20 职场文书
教师绩效考核方案
2014/01/21 职场文书
百货商场楼层班组长竞聘书
2014/03/31 职场文书
Javascript的promise,async和await的区别详解
2022/03/24 Javascript