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 相关文章推荐
用Flash图形化数据(一)
Oct 09 PHP
php高级编程-函数-郑阿奇
Jul 04 PHP
PHP实现时间轴函数代码
Oct 08 PHP
怎样搭建PHP开发环境
Jul 28 PHP
CI(Codeigniter)的Setting增强配置类实例
Jan 06 PHP
PHP 设计模式系列之 specification规格模式
Jan 10 PHP
图文详解phpstorm配置Xdebug进行调试PHP教程
Jun 13 PHP
thinkphp自带验证码全面解析
Sep 18 PHP
基于thinkPHP类的插入数据库操作功能示例
Jan 06 PHP
PHPExcel中文帮助手册|PHPExcel使用方法(分享)
Jun 09 PHP
php对象工厂类完整示例
Aug 09 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
Feb 15 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
drupal 代码实现URL重写
2011/05/04 PHP
PHP ? EasyUI DataGrid 资料取的方式介绍
2012/11/07 PHP
php stream_get_meta_data返回值
2013/09/29 PHP
php处理restful请求的路由类分享
2014/02/27 PHP
php如何连接sql server
2015/10/16 PHP
php实现保存周期为1天的购物车类
2017/07/07 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
2017/09/22 PHP
一段实现页面上的图片延时加载的js代码
2010/02/11 Javascript
jquery form表单提交插件asp.net后台中文解码
2010/06/12 Javascript
jQuery EasyUI API 中文文档 - TreeGrid 树表格使用介绍
2011/11/21 Javascript
js判断横竖屏及禁止浏览器滑动条示例
2014/04/29 Javascript
jQuery $.extend()用法总结
2014/06/15 Javascript
深入分析jquery解析json数据
2014/12/09 Javascript
详解JavaScript正则表达式之分组匹配及反向引用
2016/03/09 Javascript
nodeJs爬虫获取数据简单实现代码
2016/03/29 NodeJs
关于动态生成dom绑定事件失效的原因及解决方法
2016/08/06 Javascript
IScroll5实现下拉刷新上拉加载的功能实例
2017/08/11 Javascript
jQuery实现form表单序列化转换为json对象功能示例
2018/05/23 jQuery
解决vue-cli webpack打包开启Gzip 报错问题
2019/07/24 Javascript
微信小程序 腾讯地图显示偏差问题解决
2019/07/27 Javascript
使用axios请求接口,几种content-type的区别详解
2019/10/29 Javascript
vue 动态添加的路由页面刷新时失效的原因及解决方案
2021/02/26 Vue.js
Win10下Python环境搭建与配置教程
2016/11/18 Python
tensorflow 使用flags定义命令行参数的方法
2018/04/23 Python
Python图像处理之gif动态图的解析与合成操作详解
2018/12/30 Python
基于python3 pyQt5 QtDesignner实现窗口化猜数字游戏功能
2019/07/15 Python
pytorch中的自定义反向传播,求导实例
2020/01/06 Python
keras实现VGG16方式(预测一张图片)
2020/07/07 Python
非洲NO.1网上商店:Jumia肯尼亚
2016/08/18 全球购物
伦敦最受欢迎的蛋糕店:Konditor & Cook
2019/11/01 全球购物
MUGLER官方网站:蒂埃里·穆勒香水
2019/11/26 全球购物
工程造价管理专业大专生求职信
2013/10/06 职场文书
小学班主任培训方案
2014/06/04 职场文书
2014年防汛工作总结
2014/12/08 职场文书
六一儿童节主持开场白
2015/05/28 职场文书
Redis遍历所有key的两个命令(KEYS 和 SCAN)
2021/04/12 Redis