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 相关文章推荐
第十四节 命名空间 [14]
Oct 09 PHP
PHP4 与 MySQL 数据库操作函数详解
Dec 06 PHP
特详细的PHPMYADMIN简明安装教程
Aug 01 PHP
php 进度条实现代码
Mar 10 PHP
PHP自定义大小验证码的方法详解
Jun 07 PHP
PHP图片裁剪函数(保持图像不变形)
May 04 PHP
ThinkPHP CURD方法之limit方法详解
Jun 18 PHP
PHP实现动态web服务器方法
Jul 29 PHP
微信支付扫码支付php版
Jul 22 PHP
php通过header发送自定义数据方法
Jan 18 PHP
php实现mysql连接池效果实现代码
Jan 25 PHP
PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例
May 08 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写入数据库类代码分享
2011/07/26 PHP
PHP实现获取图片颜色值的方法
2014/07/11 PHP
10个超级有用的PHP代码片段果断收藏
2015/09/23 PHP
Mozilla中显示textarea中选择的文字
2006/09/07 Javascript
javascript之querySelector和querySelectorAll使用介绍
2011/12/20 Javascript
input:checkbox多选框实现单选效果跟radio一样
2014/06/16 Javascript
jQuery实现响应鼠标背景变化的动态菜单效果代码
2015/08/27 Javascript
javascript实现移动端上的触屏拖拽功能
2016/03/04 Javascript
JavaScript 中有关数组对象的方法(详解)
2016/08/15 Javascript
jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
2016/08/15 Javascript
jQuery扩展实现text提示还能输入多少字节的方法
2016/11/28 Javascript
JavaScript选取(picking)和反选(rejecting)对象的属性方法
2017/08/16 Javascript
angular4 如何在全局设置路由跳转动画的方法
2017/08/30 Javascript
AngularJS select加载数据选中默认值的方法
2018/02/28 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
基于 jQuery 实现键盘事件监听控件
2019/04/04 jQuery
tsconfig.json配置详解
2019/05/17 Javascript
利用原生JS实现data方法示例代码
2019/05/28 Javascript
vue+vant-UI框架实现购物车的复选框全选和反选功能
2019/11/05 Javascript
Javascript Symbol原理及使用方法解析
2020/10/22 Javascript
[07:26]2015国际邀请赛第二日TOP10集锦
2015/08/06 DOTA
python计数排序和基数排序算法实例
2014/04/25 Python
在Python的Flask框架中实现单元测试的教程
2015/04/20 Python
Python制作爬虫抓取美女图
2016/01/20 Python
Python2与python3中 for 循环语句基础与实例分析
2017/11/20 Python
django模板语法学习之include示例详解
2017/12/17 Python
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
2018/02/21 Python
Python3爬虫之自动查询天气并实现语音播报
2019/02/21 Python
Python实现基于socket的udp传输与接收功能详解
2019/11/15 Python
Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子
2019/12/04 Python
45个非常奇妙的CSS3 特性应用示例
2012/01/01 HTML / CSS
教师研修随笔感言
2014/01/23 职场文书
活动总结的格式
2014/05/07 职场文书
群众路线自查自纠工作情况报告
2014/10/28 职场文书
电影小兵张嘎观后感
2015/06/03 职场文书
JavaScript中的宏任务和微任务详情
2021/11/27 Javascript