模拟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 相关文章推荐
弄了个检测传输的参数是否为数字的Function
Dec 06 PHP
php 正则 过滤html 的超链接
Jun 02 PHP
php at(@)符号的用法简介
Jul 11 PHP
PHP 中关于ord($str)&amp;gt;0x80的详细说明
Sep 23 PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
Nov 03 PHP
PHP将身份证正反面两张照片合成一张图片的代码
Apr 08 PHP
如何利用预加载优化Laravel Model查询详解
Aug 11 PHP
PHP读取并输出XML文件数据的简单实现方法
Dec 22 PHP
PHP PDOStatement::bindColumn讲解
Jan 30 PHP
php使用curl伪造浏览器访问操作示例
Sep 30 PHP
laravel 操作数据库常用函数的返回值方法
Oct 11 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 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网站来路获取代码(针对搜索引擎)
2010/06/08 PHP
php使用Smarty的相关注意事项及访问变量的几种方式
2011/12/08 PHP
大家都应该掌握的PHP关联数组使用技巧
2015/12/25 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
2020/04/13 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
2020/12/16 PHP
使用jquery实现select添加实现后台权限添加的效果
2011/05/28 Javascript
js 赋值包含单引号双引号问题的解决方法
2014/02/26 Javascript
JS实现清除指定cookies的方法
2014/09/20 Javascript
JS判断浏览器是否支持某一个CSS3属性的方法
2014/10/17 Javascript
jQuery插件expander实现图片翻转特效
2015/05/21 Javascript
浅析javascript函数表达式
2016/02/10 Javascript
jQuery Ajax 实例代码 ($.ajax、$.post、$.get)
2016/04/29 Javascript
angular.js之路由的选择方法
2016/09/24 Javascript
微信小程序  Mustache语法详细介绍
2016/10/27 Javascript
使用vue构建一个上传图片表单
2017/07/04 Javascript
React-router v4 路由配置方法小结
2017/08/08 Javascript
Vue中的ref作用详解(实现DOM的联动操作)
2017/08/21 Javascript
详解使用uni-app开发微信小程序之登录模块
2019/05/09 Javascript
js字符串类型String常用操作实例总结
2019/07/05 Javascript
highcharts.js数据绑定方式代码实例
2019/11/13 Javascript
记一次用ts+vuecli4重构项目的实现
2020/05/21 Javascript
在Python中用split()方法分割字符串的使用介绍
2015/05/20 Python
Python使用urllib2模块抓取HTML页面资源的实例分享
2016/05/03 Python
python itchat实现调用微信接口的第三方模块方法
2019/06/11 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
2019/08/13 Python
PyCharm中如何直接使用Anaconda已安装的库
2020/05/28 Python
Linux安装Python3如何和系统自带的Python2并存
2020/07/23 Python
python递归函数用法详解
2020/10/26 Python
python3判断IP地址的方法
2021/03/04 Python
详解淘宝H5 sign加密算法
2020/08/25 HTML / CSS
美国宠物商店:Wag.com
2016/10/25 全球购物
Reformation官网:美国女装品牌
2018/09/14 全球购物
志愿者服务感言
2014/02/27 职场文书
python 安全地删除列表元素的方法
2022/03/16 Python
SQLServer权限之只开启创建表权限
2022/04/12 SQL Server
向Spring IOC 容器动态注册bean实现方式
2022/07/15 Java/Android