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 删除无限级目录与文件代码共享
Nov 22 PHP
php 保留小数点
Apr 21 PHP
用PHP实现浏览器点击下载TXT文档的方法详解
Jun 02 PHP
PHP 伪静态技术原理以及突破原理实现介绍
Jul 12 PHP
如何使用PHP获取指定日期所在月的开始日期与结束日期
Aug 01 PHP
PHP的preg_match匹配字符串长度问题解决方法
May 03 PHP
从零开始学YII2框架(四)扩展插件yii2-kartikgii
Aug 20 PHP
教你在header中隐藏php的版本信息
Aug 10 PHP
ThinkPHP中session函数详解
Sep 14 PHP
PHP分享图片的生成方法
Apr 25 PHP
PHP引擎php.ini参数优化深入讲解
Mar 24 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-FPM进程池探秘
2017/10/17 PHP
javascript或asp实现的判断身份证号码是否正确两种验证方法
2009/11/26 Javascript
input:checkbox多选框实现单选效果跟radio一样
2014/06/16 Javascript
Javascript的闭包详解
2014/12/26 Javascript
js库Modernizr的介绍和使用
2015/05/07 Javascript
jquery判断复选框是否选中进行答题提示特效
2015/12/10 Javascript
JavaScript数组的一些奇葩行为
2016/01/25 Javascript
Angular 4依赖注入学习教程之ClassProvider的使用(三)
2017/06/04 Javascript
微信小程序实现自定义picker选择器弹窗内容
2020/05/26 Javascript
Angular angular-file-upload文件上传的示例代码
2018/08/23 Javascript
老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)
2018/09/19 Javascript
js正则取值的结果数组调试方法
2018/10/10 Javascript
javascript实现考勤日历功能
2018/11/29 Javascript
vue项目打包后上传至GitHub并实现github-pages的预览
2019/05/06 Javascript
webpack4 从零学习常用配置(小结)
2019/05/28 Javascript
新手快速入门微信小程序组件库 iView Weapp
2019/06/24 Javascript
解决vue项目中某一页面不想引用公共组件app.vue的问题
2020/08/14 Javascript
pytyon 带有重复的全排列
2013/08/13 Python
Python实现将目录中TXT合并成一个大TXT文件的方法
2015/07/15 Python
利用Python批量生成任意尺寸的图片
2016/08/29 Python
python实现识别手写数字 python图像识别算法
2020/03/23 Python
解决Django的request.POST获取不到内容的问题
2018/05/28 Python
浅析python3中的os.path.dirname(__file__)的使用
2018/08/30 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
2018/11/16 Python
Python中注释(多行注释和单行注释)的用法实例
2019/08/28 Python
python3注册全局热键的实现
2020/03/22 Python
Python创建自己的加密货币的示例
2021/03/01 Python
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?用contains来区分是否有重复的对象。还是都不用
2013/07/30 面试题
是否有自动比较结构的方法
2015/06/03 面试题
上班上网检讨书
2014/01/29 职场文书
干部作风建设心得体会
2014/10/22 职场文书
北京导游词
2015/02/12 职场文书
军训阅兵新闻稿
2015/07/17 职场文书
运动员入场前导词
2015/07/20 职场文书
小学英语教师研修感悟
2015/11/18 职场文书
创业计划书之餐饮馄饨店
2019/07/18 职场文书