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
php 获取一个月第一天与最后一天的代码
May 16 PHP
php array_map()数组函数使用说明
Jul 12 PHP
php 文章调用类代码
Aug 11 PHP
php实现scws中文分词搜索的方法
Dec 25 PHP
php中static和const关键字用法分析
Dec 07 PHP
PHP 类与构造函数解析
Feb 06 PHP
thinkphp 字母函数详解T/I/N/D/M/A/R/U
Apr 03 PHP
微信公众号开发之获取位置信息php代码
Jun 13 PHP
PHP类的自动加载机制实现方法分析
Jan 10 PHP
Ajax+PHP实现的模拟进度条功能示例
Feb 11 PHP
php实现文件上传基本验证
Mar 04 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与MySQL开发中页面乱码的产生与解决
2008/03/27 PHP
qq登录,新浪微博登录接口申请过程中遇到的问题
2014/07/22 PHP
Js日期选择自动填充到输入框(界面漂亮兼容火狐)
2013/08/02 Javascript
jquery ajax对特殊字符进行转义防止js注入使用示例
2013/11/21 Javascript
JavaScript中获取高度和宽度函数总结
2014/10/08 Javascript
JavaScript和jQuery获取input框的绝对位置实现方法
2016/10/13 Javascript
jQuery模拟实现的select点击选择效果【附demo源码下载】
2016/11/09 Javascript
微信小程序 自定义对话框实例详解
2017/01/20 Javascript
AngularJS之页面跳转Route实例代码
2017/03/10 Javascript
对于Javascript 执行上下文的全面了解
2017/09/05 Javascript
js 中rewrap-ajax.js插件实例代码
2017/10/20 Javascript
apicloud拉起小程序并传递参数的方法示例
2018/11/21 Javascript
20个必会的JavaScript面试题(小结)
2019/07/02 Javascript
JS数组方法reverse()用法实例分析
2020/01/18 Javascript
JS如何在不同平台实现多语言方式
2020/07/16 Javascript
JS如何实现在弹出窗口中加载页面
2020/12/03 Javascript
Python最基本的数据类型以及对元组的介绍
2015/04/14 Python
Python和C/C++交互的几种方法总结
2017/05/11 Python
python实现杨氏矩阵查找
2019/03/02 Python
提升Python程序性能的7个习惯
2019/04/14 Python
python使用time、datetime返回工作日列表实例代码
2019/05/09 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
2020/05/10 Python
Python基于gevent实现高并发代码实例
2020/05/15 Python
浅谈python出错时traceback的解读
2020/07/15 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
2021/02/24 Python
Theflamel意大利:女士奢华服装、鞋子和配件
2020/01/11 全球购物
strstr()的简单实现
2013/09/26 面试题
北京天润融通.net面试题笔试题
2012/02/20 面试题
中专毕业生自荐信范文
2013/11/28 职场文书
展会邀请函范文
2014/01/26 职场文书
工程质量月活动方案
2014/02/19 职场文书
矿泉水广告词
2014/03/20 职场文书
毕业生面试求职信
2014/06/23 职场文书
领导干部遵守党的政治纪律情况思想汇报
2014/09/14 职场文书
导游词之黄帝陵景区
2019/09/16 职场文书
APP界面设计技巧和注意事项
2022/04/29 杂记