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 相关文章推荐
PHP通用检测函数集合
Nov 25 PHP
phpMyAdmin2.11.6安装配置方法
Aug 24 PHP
discuz7 phpMysql操作类
Jun 21 PHP
我的php学习笔记(毕业设计)
Feb 21 PHP
PHP实现邮件群发的源码
Jun 18 PHP
php递归遍历删除文件的方法
Apr 17 PHP
PHP自动生成表单代码分享
Jun 19 PHP
php中ob函数缓冲机制深入理解
Aug 03 PHP
PHP调用API接口实现天气查询功能的示例
Sep 21 PHP
PHP实现与java 通信的插件使用教程
Aug 11 PHP
PHP实现简单的协程任务调度demo示例
Feb 01 PHP
通过实例解析PHP数据类型转换方法
Jul 11 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
destoon实现商铺管理主页设置增加新菜单的方法
2014/06/26 PHP
PHP基于phpqrcode生成带LOGO图像的二维码实例
2015/07/10 PHP
Javascript调试工具(下载)
2007/01/09 Javascript
第一个JavaScript入门基础 document.write输出
2010/02/22 Javascript
JavaScript Title、alt提示(Tips)实现源码解读
2010/12/12 Javascript
非常棒的10款jQuery 幻灯片插件
2011/06/14 Javascript
基于jquery的多彩百分比 动态进度条 投票效果显示效果实现代码
2011/08/28 Javascript
js文件缓存之版本管理详解
2013/07/05 Javascript
Jquery 实现图片轮换
2015/01/28 Javascript
jQuery实现的图文高亮滚动切换特效实例
2015/08/10 Javascript
jqTransform美化表单
2015/10/10 Javascript
jQuery数组处理函数整理
2016/08/03 Javascript
JavaScript 自定义事件之我见
2017/09/25 Javascript
Vue底层实现原理总结
2018/02/17 Javascript
layui前端框架之table表数据的刷新方法
2018/08/17 Javascript
js中实现继承的五种方法
2021/01/25 Javascript
Python中字符串的常见操作技巧总结
2016/07/28 Python
Python之str操作方法(详解)
2017/06/19 Python
深入理解python中函数传递参数是值传递还是引用传递
2017/11/07 Python
Python使用functools实现注解同步方法
2018/02/06 Python
解决seaborn在pycharm中绘图不出图的问题
2018/05/24 Python
python+influxdb+shell编写区域网络状况表
2018/07/27 Python
pycharm+PyQt5+python最新开发环境配置(踩坑)
2019/02/11 Python
Python中新式类与经典类的区别详析
2019/07/10 Python
10分钟用python搭建一个超好用的CMDB系统
2019/07/17 Python
使用python批量转换文件编码为UTF-8的实现
2020/04/03 Python
利用python对mysql表做全局模糊搜索并分页实例
2020/07/12 Python
Python 爬虫批量爬取网页图片保存到本地的实现代码
2020/12/24 Python
HTML5中form如何关闭自动完成功能的方法
2018/07/02 HTML / CSS
为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限
2012/12/13 面试题
新闻工作者先进事迹
2014/05/26 职场文书
销售员岗位职责范本
2015/04/11 职场文书
2015年教学管理工作总结
2015/05/20 职场文书
2016年教师节感言
2015/12/09 职场文书
解决pytorch 损失函数中输入输出不匹配的问题
2021/06/05 Python
MySQL数据库索引的最左匹配原则
2021/11/20 MySQL