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 相关文章推荐
如何开发一个虚拟域名系统
Oct 09 PHP
推荐一篇入门级的Class文章
Mar 19 PHP
php数组去重复数据示例
Feb 25 PHP
用PHP来计算某个目录大小的方法
Apr 01 PHP
跟我学Laravel之视图 & Response
Oct 15 PHP
Yii框架form表单用法实例
Dec 04 PHP
新浪SAE搭建PHP项目教程
Jan 28 PHP
php面向对象与面向过程两种方法给图片添加文字水印
Aug 26 PHP
PHP屏蔽关键字实现方法
Nov 17 PHP
PHP实现简单的模板引擎功能示例
Sep 02 PHP
PHP调用微博接口实现微博登录的方法示例
Sep 22 PHP
php中yii框架实例用法
Dec 22 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
无线电广播的开始
2002/01/30 无线电
Javascript实现快速排序(Quicksort)的算法详解
2015/09/06 Javascript
javascript实现五星评分功能
2015/11/10 Javascript
基于BootStrap Metronic开发框架经验小结【二】列表分页处理和插件JSTree的使用
2016/05/12 Javascript
jQuery CSS3自定义美化Checkbox实现代码
2016/05/12 Javascript
JS判断字符串变量是否含有某个字串的实现方法
2016/06/03 Javascript
Js删除数组中某一项或几项的几种方法(推荐)
2016/07/27 Javascript
修改ligerui 默认确认按钮的方法
2016/12/27 Javascript
Ajax 加载数据 练习代码
2017/01/05 Javascript
AngularJs 常用的过滤器
2017/05/15 Javascript
微信小程序-滚动消息通知的实例代码
2017/08/03 Javascript
vue input 输入校验字母数字组合且长度小于30的实现代码
2018/05/16 Javascript
vue页面切换过渡transition效果
2018/10/08 Javascript
微信小程序图表插件wx-charts用法实例详解
2019/05/20 Javascript
Vue.js 中的实用工具方法【推荐】
2019/07/04 Javascript
基于JavaScript 实现拖放功能
2019/09/12 Javascript
解决小程序无法触发SESSION问题
2020/02/03 Javascript
使用Python脚本在Linux下实现部分Bash Shell的教程
2015/04/17 Python
python相似模块用例
2016/03/04 Python
Python中表示字符串的三种方法
2017/09/06 Python
python3 读取Excel表格中的数据
2018/10/16 Python
Python/Django后端使用PIL Image生成头像缩略图
2019/04/30 Python
python通用读取vcf文件的类(复制粘贴即可用)
2020/02/29 Python
jupyter notebook 恢复误删单元格或者历史代码的实现
2020/04/17 Python
Python 利用Entrez库筛选下载PubMed文献摘要的示例
2020/11/24 Python
CSS3新属性transition-property transform box-shadow实例学习
2013/06/06 HTML / CSS
ZINVO手表官网:男士和女士手表
2019/03/10 全球购物
大学生创业计划书的格式要求
2013/12/29 职场文书
晚会开幕词
2015/01/28 职场文书
总经理岗位职责
2015/02/04 职场文书
2015年预备党员自我评价
2015/03/04 职场文书
道歉信怎么写
2015/05/12 职场文书
2015年大学学生会工作总结
2015/05/13 职场文书
追悼会家属答谢词
2015/09/29 职场文书
Golang中interface{}转为数组的操作
2021/04/30 Golang
详解pytorch创建tensor函数
2022/03/22 Python