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 相关文章推荐
Discuz板块横排显示图片的实现方法
May 28 PHP
php adodb连接不同数据库
Mar 19 PHP
php xml留言板 xml存储数据的简单例子
Aug 24 PHP
PHP生成UTF8文件的方法
May 15 PHP
PHP 时间日期操作实战
Aug 26 PHP
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
Aug 07 PHP
php数据类型判断函数有哪些
Sep 23 PHP
PHP获取文件相对路径的方法
Feb 26 PHP
PHP快速排序quicksort实例详解
Sep 28 PHP
[原创]php token使用与验证示例【测试可用】
Aug 30 PHP
PHP7扩展开发之hello word实现方法详解
Jan 15 PHP
Laravel推荐使用的十个辅助函数
May 10 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
Protoss兵种对照表
2020/03/14 星际争霸
通达OA公共代码 php常用检测函数
2011/12/14 PHP
PHP对MongoDB[NoSQL]数据库的操作
2013/03/01 PHP
在PHP中运行Linux命令并启动SSH服务的例子
2014/06/12 PHP
PHP实现将base64编码字符串转换成图片示例
2018/06/22 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
2019/02/27 PHP
YII2框架中日志的配置与使用方法实例分析
2020/03/18 PHP
javascript call方法使用说明
2010/01/11 Javascript
ExtJs事件机制基本代码模型和流程解析
2010/10/24 Javascript
简单js代码实现selece二级联动(推荐)
2014/02/18 Javascript
JS实现文字掉落效果的方法
2015/05/06 Javascript
jQuery实现的进度条效果
2015/07/15 Javascript
javascript的函数劫持浅析
2016/09/26 Javascript
解析Javascript单例模式概念与实例
2016/12/05 Javascript
hovertree插件实现二级树形菜单(简单实用)
2016/12/28 Javascript
干货!教大家如何选择Vue和React
2017/03/13 Javascript
Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
2017/09/20 Javascript
nodejs+mongodb aggregate级联查询操作示例
2018/03/17 NodeJs
利用vscode调试编译后的js代码详解
2018/05/14 Javascript
Vue.js中使用iView日期选择器并设置开始时间结束时间校验功能
2018/08/12 Javascript
解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题
2019/10/25 Javascript
5分钟快速看懂ES6中的反射与代理
2019/12/19 Javascript
JavaScript实现英语单词题库
2019/12/24 Javascript
wxPython学习之主框架实例
2014/09/28 Python
Python3爬虫使用Fidder实现APP爬取示例
2018/11/27 Python
flask框架自定义过滤器示例【markdown文件读取和展示功能】
2019/11/08 Python
AmazeUI 手机版页面的顶部导航条Header与侧边导航栏offCanvas的示例代码
2020/08/19 HTML / CSS
美国时尚配饰品牌:Dooney & Bourke
2017/11/14 全球购物
美国杰西潘尼官网:JCPenney
2019/06/12 全球购物
给老师的检讨书
2014/02/11 职场文书
春节联欢晚会主持词范文
2014/03/24 职场文书
罗马假日观后感
2015/06/08 职场文书
车间班组长竞聘书
2015/09/15 职场文书
python实现监听键盘
2021/04/26 Python
Python实现简单的俄罗斯方块游戏
2021/09/25 Python
Python OpenCV超详细讲解读取图像视频和网络摄像头
2022/04/02 Python