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之字符串变相相减的代码
Mar 19 PHP
PHP 函数执行效率的小比较
Oct 17 PHP
zend api扩展的php对象的autoload工具
Apr 18 PHP
php中检查文件或目录是否存在的代码小结
Oct 22 PHP
php选择排序法实现数组排序实例分析
Feb 16 PHP
THINKPHP支持YAML配置文件的设置方法
Mar 17 PHP
如何使用纯PHP实现定时器任务(Timer)
Jul 31 PHP
php递归函数三种实现方法及如何实现数字累加
Aug 07 PHP
php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)
Mar 14 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
Jan 17 PHP
PHP利用百度ai实现文本和图片审核
May 08 PHP
laravel 中某一字段自增、自减的例子
Oct 11 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实现数字补零功能的2个函数介绍
2014/05/12 PHP
Laravel 4 初级教程之Pages、表单验证
2014/10/30 PHP
js prototype 格式化数字 By shawl.qiu
2007/04/02 Javascript
javascript 有趣而诡异的数组
2009/04/06 Javascript
Knockout数组(observable)使用详解示例
2013/11/15 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/20 Javascript
JavaScript Array对象扩展indexOf()方法
2014/05/09 Javascript
JQuery中基础过滤选择器用法实例分析
2015/05/18 Javascript
最新最热最实用的15个jQuery插件汇总
2015/07/05 Javascript
全面解析Bootstrap排版使用方法(文字样式)
2015/11/30 Javascript
JS两种类型的表单提交方法实例分析
2016/11/28 Javascript
jQuery实现手机上输入后隐藏键盘功能
2017/01/04 Javascript
如何给ss bash 写一个 WEB 端查看流量的页面
2017/03/23 Javascript
jQuery获取table下某一行某一列的值实现代码
2017/04/07 jQuery
Angular 4.X开发实践中的踩坑小结
2017/07/04 Javascript
ubuntu编译nodejs所需的软件并安装
2017/09/12 NodeJs
JavaScript中变量提升机制示例详解
2019/12/27 Javascript
基于Element封装一个表格组件tableList的使用方法
2020/06/29 Javascript
Vue自定义全局弹窗组件操作
2020/08/11 Javascript
利用django-suit模板添加自定义的菜单、页面及设置访问权限
2018/07/13 Python
python将一组数分成每3个一组的实例
2018/11/14 Python
Python3实现统计单词表中每个字母出现频率的方法示例
2019/01/28 Python
python Django里CSRF 对应策略详解
2019/08/05 Python
简单易懂Pytorch实战实例VGG深度网络
2019/08/27 Python
python cv2截取不规则区域图片实例
2019/12/21 Python
win10安装python3.6的常见问题
2020/07/01 Python
深入浅析pycharm中 Make available to all projects的含义
2020/09/15 Python
美国在线家装零售商:Build.com
2016/09/02 全球购物
Envie de Fraise意大利:法国网上推出的孕妇装品牌
2020/10/18 全球购物
营业经理岗位职责
2013/11/10 职场文书
关于运动会的口号
2014/06/07 职场文书
2014年餐厅服务员工作总结
2014/11/18 职场文书
2016年班主任培训心得体会
2016/01/07 职场文书
七年级思品教学反思
2016/02/20 职场文书
《有余数的除法》教学反思
2016/02/22 职场文书
漫画「你在春天醒来」第10卷封面公开
2022/03/21 日漫