模拟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 相关文章推荐
使用php4加速网络传输
Oct 09 PHP
深入理解php的MySQL连接类
Jun 07 PHP
linux实现php定时执行cron任务详解
Dec 24 PHP
php实现贪吃蛇小游戏
Jul 26 PHP
thinkphp自带验证码全面解析
Sep 18 PHP
PHP上传Excel文件导入数据到MySQL数据库示例
Oct 25 PHP
php+ajax无刷新上传图片的实现方法
Dec 06 PHP
PHP处理bmp格式图片的方法分析
Jul 04 PHP
PHP使用PDO访问oracle数据库的步骤详解
Sep 29 PHP
php实现等比例压缩图片
Jul 26 PHP
laravel请求参数校验方法
Oct 10 PHP
Yii2框架中一些折磨人的坑
Dec 15 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
Zend Framework使用Zend_Loader组件动态加载文件和类用法详解
2016/12/09 PHP
php实现的读取CSV文件函数示例
2017/02/07 PHP
PHP JWT初识及其简单示例
2018/10/10 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
半角全角相互转换的js函数
2009/10/16 Javascript
javascript 命名规则 变量命名规则
2010/02/25 Javascript
jQuery获取CSS样式中的颜色值的问题,不同浏览器格式不同的解决办法
2013/05/13 Javascript
jquery 页面滚动到底部自动加载插件集合
2014/01/31 Javascript
自定义jQuery插件方式实现强制对象重绘的方法
2015/03/23 Javascript
JavaScript运动减速效果实例分析
2015/08/04 Javascript
jQuery+css实现的切换图片功能代码
2016/01/27 Javascript
JS实现table表格数据排序功能(可支持动态数据+分页效果)
2016/05/26 Javascript
JavaScript中ES6 Babel正确安装过程
2016/07/18 Javascript
jQuery 获取遍历获取table中每一个tr中的第一个td的方法
2016/10/05 Javascript
使用Xcache缓存器加速PHP网站的配置方法
2017/04/22 Javascript
微信小程序之多文件下载的简单封装示例
2018/01/29 Javascript
在vue中读取本地Json文件的方法
2018/09/06 Javascript
基于Vue的侧边目录组件的实现
2020/02/05 Javascript
解决vue字符串换行问题(绝对管用)
2020/08/06 Javascript
three.js着色器材质的内置变量示例详解
2020/08/16 Javascript
[01:03:42]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python学习笔记整理3之输入输出、python eval函数
2015/12/14 Python
Python的IDEL增加清屏功能实例
2017/06/19 Python
pandas series序列转化为星期几的实例
2018/04/11 Python
Python实现爬取亚马逊数据并打印出Excel文件操作示例
2019/05/16 Python
使用python的pandas为你的股票绘制趋势图
2019/06/26 Python
浅析python内置模块collections
2019/11/15 Python
Python散点图与折线图绘制过程解析
2019/11/30 Python
css3实现的下拉菜单效果示例
2014/01/22 HTML / CSS
德国家具在线:Fashion For Home
2017/03/11 全球购物
Manduka官网:瑜伽垫、瑜伽毛巾和服装
2018/07/02 全球购物
求两个数的乘积和商数,该作用由宏定义来实现
2013/03/13 面试题
医学生自我鉴定范文
2014/03/26 职场文书
空气的环保标语
2014/06/12 职场文书
幼儿园感恩节活动方案
2014/10/06 职场文书
关于职业道德的心得体会
2016/01/18 职场文书