模拟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实现简单洗牌算法
Jun 18 PHP
怎么在Windows系统中搭建php环境
Aug 31 PHP
php中的比较运算符详解
Oct 28 PHP
PHP 魔术变量和魔术函数详解
Feb 25 PHP
深入浅出php socket编程
May 13 PHP
解决php的“It is not safe to rely on the system’s timezone settings”问题
Oct 08 PHP
PHP使用fopen与file_get_contents读取文件实例分享
Mar 04 PHP
thinkPHP模板中for循环与switch语句用法示例
Nov 30 PHP
php正则判断是否为合法身份证号的方法
Mar 16 PHP
php使用curl实现简单模拟提交表单功能
May 15 PHP
搜索附近的人PHP实现代码
Feb 11 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
Dec 13 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调用mysql数据 dbclass类
2011/05/07 PHP
Laravel框架学习笔记(二)项目实战之模型(Models)
2014/10/15 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
浅谈PHP之ThinkPHP框架使用详解
2020/07/21 PHP
PHP 实现重载
2021/03/09 PHP
更换select下拉菜单背景样式的实现代码
2011/12/20 Javascript
javascript作用域容易记错的两个地方分析
2012/06/22 Javascript
jquery动态增加text元素以及删除文本内容实例代码
2013/07/01 Javascript
基于jquery的禁用右键、文本选择功能、复制按键的实现代码
2013/08/27 Javascript
浅谈EasyUI中编辑treegrid的方法
2015/03/01 Javascript
jQuery插件expander实现图片翻转特效
2015/05/21 Javascript
JavaScript 不支持 indexof 该如何解决
2016/03/30 Javascript
H5移动端图片压缩上传开发流程
2016/11/09 Javascript
Node.js readline 逐行读取、写入文件内容的示例
2018/03/01 Javascript
深入浅析Vue中的Prop
2018/06/10 Javascript
mac上配置Android环境变量的方法
2018/07/08 Javascript
JS实现根据详细地址获取经纬度功能示例
2019/04/16 Javascript
js实现树形数据转成扁平数据的方法示例
2020/02/27 Javascript
本地文件上传到七牛云服务器示例(七牛云存储)
2014/01/11 Python
python进程管理工具supervisor的安装与使用教程
2017/09/05 Python
对python3中pathlib库的Path类的使用详解
2018/10/14 Python
python2.7使用plotly绘制本地散点图和折线图
2019/04/02 Python
Python如何通过Flask-Mail发送电子邮件
2020/01/29 Python
Python中pyecharts安装及安装失败的解决方法
2020/02/18 Python
Python3爬虫mitmproxy的安装步骤
2020/07/29 Python
css3实现3D文本悬停改变效果的示例代码
2019/01/16 HTML / CSS
英国香水店:The Perfume Shop
2017/03/27 全球购物
乌克兰品牌化妆品和香水在线商店:Bomond
2020/01/14 全球购物
公司中秋节活动方案
2014/02/12 职场文书
汉语言文学专业求职信
2014/06/19 职场文书
高中生第一学年自我鉴定
2014/09/12 职场文书
2014年建筑工作总结
2014/11/26 职场文书
表扬稿表扬信的格式及范文
2019/06/24 职场文书
话题作文之财富(600字)
2019/12/03 职场文书
基于Python实现的购物商城管理系统
2021/04/27 Python
用PYTHON去计算88键钢琴的琴键频率和音高
2022/04/10 Python