模拟SQLSERVER的两个函数:dateadd(),datediff()


Posted in PHP onOctober 09, 2006

<?php
//文件名:date.inc.php3
//在使用这两个函数前,要先将日期或日期时间转换成timestamp类型。
//如:
//$today=mktime(0,0,0,date("m"),date("d"),date("Y"));

/****模拟sqlserver中的dateadd函数*******
$part 类型:string
取值范围:year,month,day,hour,min,sec
表示:要增加的日期的哪个部分
$n 类型:数值
表示:要增加多少,根据$part决定增加哪个部分
可为负数
$datetime类型:timestamp
表示:增加的基数
返回 类型:timestamp
**************结束**************/
function dateadd($part,$n,$datetime){
$year=date("Y",$datetime);
$month=date("m",$datetime);
$day=date("d",$datetime);
$hour=date("H",$datetime);
$min=date("i",$datetime);
$sec=date("s",$datetime);
$part=strtolower($part);
$ret=0;
switch ($part) {
case "year":
$year+=$n;
break;
case "month":
$month+=$n;
break;
case "day":
$day+=$n;
break;
case "hour":
$hour+=$n;
break;
case "min":
$min+=$n;
break;
case "sec":
$sec+=$n;
break;
default:
return $ret;
break;
}
$ret=mktime($hour,$min,$sec,$month,$day,$year);
return $ret;
}

/****模拟sqlserver中的datediff函数*******
$part 类型:string
取值范围:year,month,day,hour,min,sec
表示:要增加的日期的哪个部分
$date1,$date2 类型:timestamp
表示:要比较的两个日期
返回 类型:数值
**************结束*(*************/
function datediff($part,$date1,$date2){
//$diff=$date2-$date1;
$year1=date("Y",$date1);
$year2=date("Y",$date2);
$month2=date("m",$date2);
$month1=date("m",$date1);
$day2=date("d",$date2);
$day1=date("d",$date1);
$hour2=date("d",$date2);
$hour1=date("d",$date1);
$min2=date("i",$date2);
$min1=date("i",$date1);
$sec2=date("s",$date2);
$sec1=date("s",$date1);

$part=strtolower($part);
$ret=0;
switch ($part) {
case "year":
$ret=$year2-$year1;
break;
case "month":
$ret=($year2-$year1)*12+$month2-$month1;
break;
case "day":
$ret=(mktime(0,0,0,$month2,$day2,$year2)-mktime(0,0,0,$month1,$day1,$year1))/(3600*24);
break;
case "hour":
$ret=(mktime($hour2,0,0,$month2,$day2,$year2)-mktime($hour1,0,0,$month1,$day1,$year1))/3600;
break;
case "min":
$ret=(mktime($hour2,$min2,0,$month2,$day2,$year2)-mktime($hour1,$min1,0,$month1,$day1,$year1))/60;
break;
case "sec":
$ret=$date2-$date1;
break;
default:
return $ret;
break;
}
return $ret;
}
?>

PHP 相关文章推荐
PHP 加密解密内部算法
Apr 22 PHP
php下用cookie统计用户访问网页次数的代码
May 09 PHP
重新封装zend_soap实现http连接安全认证的php代码
Jan 12 PHP
解析PHP中的file_get_contents获取远程页面乱码的问题
Jun 25 PHP
Codeigniter生成Excel文档的简单方法
Jun 12 PHP
yii操作cookie实例简介
Jul 09 PHP
PHPExcel在linux环境下导出报500错误的解决方法
Jan 26 PHP
PHP实践教程之过滤、验证、转义与密码详解
Jul 24 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
Dec 21 PHP
Laravel如何自定义command命令浅析
Mar 23 PHP
PHP7新功能总结
Apr 14 PHP
php创建多级目录与级联删除文件的方法示例
Sep 12 PHP
实时抓取YAHOO股票报价的代码
Oct 09 #PHP
php访问查询mysql数据的三种方法
Oct 09 #PHP
杏林同学录(一)
Oct 09 #PHP
杏林同学录(二)
Oct 09 #PHP
基于mysql的bbs设计(五)
Oct 09 #PHP
PHP+DBM的同学录程序(5)
Oct 09 #PHP
同时提取多条新闻中的文本一例
Oct 09 #PHP
You might like
PHP内核探索:变量存储与类型使用说明
2014/01/30 PHP
PHP自动生成缩略图函数的源码示例
2019/03/18 PHP
De facto standard 世界上不可思议的事实标准
2010/08/29 Javascript
jquery设置text的值示例(设置文本框 DIV 表单值)
2014/01/06 Javascript
深入理解JavaScript系列(41):设计模式之模板方法详解
2015/03/04 Javascript
javascript操作ul中li的方法
2015/05/14 Javascript
JS取模、取商及取整运算方法示例
2016/10/13 Javascript
Bootstrap显示与隐藏简单实现代码
2017/03/06 Javascript
JavaScript运动框架 链式运动到完美运动(五)
2017/05/18 Javascript
vue组件初学_弹射小球(实例讲解)
2017/09/06 Javascript
Angularjs过滤器实现动态搜索与排序功能示例
2017/12/13 Javascript
JS实现的缓冲运动效果示例
2018/04/30 Javascript
6行代码实现微信小程序页面返回顶部效果
2018/12/28 Javascript
详解Vue基于vue-quill-editor富文本编辑器使用心得
2019/01/03 Javascript
element form 校验数组每一项实例代码
2019/10/10 Javascript
Vue混入mixins滚动触底的方法
2019/11/22 Javascript
Javascript操作select控件代码实例
2020/02/14 Javascript
如何利用Node.js与JSON搭建简单的动态服务器
2020/06/16 Javascript
koa2 数据api中间件设计模型的实现方法
2020/07/13 Javascript
从Python的源码来解析Python下的freeblock
2015/05/11 Python
python安装cx_Oracle模块常见问题与解决方法
2017/02/21 Python
ubuntu17.4下为python和python3装上pip的方法
2018/06/12 Python
10款最好的Python开发编辑器
2019/07/03 Python
Python爬取视频(其实是一篇福利)过程解析
2019/08/01 Python
Python简单实现区域生长方式
2020/01/16 Python
Django Path转换器自定义及正则代码实例
2020/05/29 Python
css3实现一个div设置多张背景图片及background-image属性实例演示
2017/08/10 HTML / CSS
HTML5 3D书本翻页动画的实现示例
2019/08/28 HTML / CSS
日本一家专门经营各种箱包的大型网站:Traveler Store
2016/08/03 全球购物
YBF Beauty官网:美丽挚友,美国知名彩妆品牌
2020/11/22 全球购物
索引覆盖(Index Covering)查询含义
2012/02/18 面试题
高中毕业生个人自我鉴定
2013/11/24 职场文书
土木工程专业本科生求职信
2014/10/01 职场文书
2015年幼儿园教研活动总结
2015/03/25 职场文书
应聘教师自荐信
2015/03/26 职场文书
生日宴会祝酒词
2015/08/10 职场文书