php实现的DateDiff和DateAdd时间函数代码分享


Posted in PHP onAugust 16, 2014

扩展php中的时间函数DateDiff和DateAdd

function DateDiff($part, $begin, $end)
{
$diff = strtotime($end) - strtotime($begin);
switch($part)
{
case "y": $retval = bcdiv($diff, (60 * 60 * 24 * 365)); break;
case "m": $retval = bcdiv($diff, (60 * 60 * 24 * 30)); break;
case "w": $retval = bcdiv($diff, (60 * 60 * 24 * 7)); break;
case "d": $retval = bcdiv($diff, (60 * 60 * 24)); break;
case "h": $retval = bcdiv($diff, (60 * 60)); break;
case "n": $retval = bcdiv($diff, 60); break;
case "s": $retval = $diff; break;
}
return $retval;
}

function DateAdd($part, $number, $date)
{
$date_array = getdate(strtotime($date));
$hor = $date_array["hours"];
$min = $date_array["minutes"];
$sec = $date_array["seconds"];
$mon = $date_array["mon"];
$day = $date_array["mday"];
$yar = $date_array["year"];
switch($part)
{
case "y": $yar += $number; break;
case "q": $mon += ($number * 3); break;
case "m": $mon += $number; break;
case "w": $day += ($number * 7); break;
case "d": $day += $number; break;
case "h": $hor += $number; break;
case "n": $min += $number; break;
case "s": $sec += $number; break;
}
return date("Y-m-d H:i:s", mktime($hor, $min, $sec, $mon, $day, $yar));
}

Function DateAdd($part, $n, $date)
{
switch($part)
{
case "y": $val = date("Y-m-d H:i:s", strtotime($date ." +$n year")); break;
case "m": $val = date("Y-m-d H:i:s", strtotime($date ." +$n month")); break;
case "w": $val = date("Y-m-d H:i:s", strtotime($date ." +$n week")); break;
case "d": $val = date("Y-m-d H:i:s", strtotime($date ." +$n day")); break;
case "h": $val = date("Y-m-d H:i:s", strtotime($date ." +$n hour")); break;
case "n": $val = date("Y-m-d H:i:s", strtotime($date ." +$n minute")); break;
case "s": $val = date("Y-m-d H:i:s", strtotime($date ." +$n second")); break;
}
return $val;
}
PHP 相关文章推荐
不用数据库的多用户文件自由上传投票系统(1)
Oct 09 PHP
解析PHP对现有搜索引擎的调用
Jun 25 PHP
php在线解压ZIP文件的方法
Dec 30 PHP
PHP性能分析工具XHProf安装使用教程
May 13 PHP
php实现粘贴截图并完成上传功能
May 17 PHP
简单了解PHP编程中数组的指针的使用
Nov 30 PHP
thinkPHP实现将excel导入到数据库中的方法
Apr 22 PHP
PHP Cookie学习笔记
Aug 23 PHP
PHP函数引用返回的实例详解
Sep 11 PHP
ThinkPHP实现图片上传操作的方法详解
May 08 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
Aug 04 PHP
Laravel5.1 框架控制器基础用法实例分析
Jan 04 PHP
php出现内存位置访问无效错误问题解决方法
Aug 16 #PHP
PHP JSON出错:Cannot use object of type stdClass as array解决方法
Aug 16 #PHP
php中隐形字符65279(utf-8的BOM头)问题
Aug 16 #PHP
php socket实现的聊天室代码分享
Aug 16 #PHP
php与flash as3 socket通信传送文件实现代码
Aug 16 #PHP
php操作XML、读取数据和写入数据的实现代码
Aug 15 #PHP
php中操作memcached缓存进行增删改查数据的实现代码
Aug 15 #PHP
You might like
谈谈PHP语法(3)
2006/10/09 PHP
11个PHP 分页脚本推荐
2011/08/15 PHP
PHP APC的安装与使用详解
2013/06/13 PHP
浅析php中抽象类和接口的概念以及区别
2013/06/27 PHP
php实现TCP端口检测的方法
2015/04/01 PHP
Joomla实现组件中弹出一个模式(modal)窗口的方法
2016/05/04 PHP
ThinkPHP中Common/common.php文件常用函数功能分析
2016/05/20 PHP
漂亮的jquery提示效果(仿腾讯弹出层)
2013/02/05 Javascript
jQuery编辑器KindEditor4.1.4代码高亮显示设置教程
2013/03/01 Javascript
利用js制作html table分页示例(js实现分页)
2014/04/25 Javascript
js简单的点击返回顶部效果实现方法
2015/04/10 Javascript
jQuery简单入门示例之用户校验demo示例
2016/07/09 Javascript
浅谈js停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)
2017/02/08 Javascript
简单实现AngularJS轮播图效果
2020/04/10 Javascript
JS实现批量上传文件并显示进度功能
2017/06/27 Javascript
JavaScript事件委托原理与用法实例分析
2018/06/07 Javascript
ES6基础之默认参数值
2019/02/21 Javascript
微信小程序使用自定义组件导航实现当前页面高亮
2020/01/02 Javascript
js闭包的9个使用场景
2020/12/29 Javascript
[05:08]第一届“网鱼杯”DOTA2比赛精彩集锦
2014/09/05 DOTA
使用python在校内发人人网状态(人人网看状态)
2014/02/19 Python
python计算auc指标实例
2017/07/13 Python
python 类对象和实例对象动态添加方法(分享)
2017/12/31 Python
基于python的多进程共享变量正确打开方式
2018/04/28 Python
Python3enumrate和range对比及示例详解
2019/07/13 Python
Python 3.8正式发布重要新功能一览
2019/10/17 Python
Python线程条件变量Condition原理解析
2020/01/20 Python
基于TensorFlow的CNN实现Mnist手写数字识别
2020/06/17 Python
html5的自定义data-*属性与jquery的data()方法的使用
2014/07/02 HTML / CSS
英国最大的奢侈品零售网络商城:Flannels
2016/09/16 全球购物
Java基础面试题
2012/11/02 面试题
主办会计岗位职责
2014/03/13 职场文书
捐赠仪式主持词
2014/03/19 职场文书
高三毕业评语
2014/12/31 职场文书
何时使用Map来代替普通的JS对象
2021/04/29 Javascript
vue3使用vue-router的完整步骤记录
2021/06/20 Vue.js