PHP模拟SQL Server的两个日期处理函数


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 作用域解析运算符(::)
Jul 27 PHP
php 求质素(素数) 的实现代码
Apr 12 PHP
PHP设计模式之解释器模式的深入解析
Jun 13 PHP
PHP中is_file不能替代file_exists的理由
Mar 04 PHP
PHP基于imap获取邮件实例
Nov 11 PHP
php获取QQ头像并显示的方法
Dec 23 PHP
phpQuery让php处理html代码像jQuery一样方便
Jan 06 PHP
PHP中类的继承和用法实例分析
May 24 PHP
微信支付开发交易通知实例
Jul 12 PHP
thinkPHP简单实现多个子查询语句的方法
Dec 05 PHP
PHP赋值的内部是如何跑的详解
Jan 13 PHP
PHP二维数组分页2种实现方法解析
Jul 09 PHP
PHP实现的功能是显示8条基色色带
Oct 09 #PHP
提升PHP执行速度全攻略(上)
Oct 09 #PHP
提升PHP执行速度全攻略(下)
Oct 09 #PHP
如何过滤高亮显示非法字符
Oct 09 #PHP
无限级别菜单的实现
Oct 09 #PHP
综合图片计数器
Oct 09 #PHP
php,不用COM,生成excel文件
Oct 09 #PHP
You might like
风味层面去分析咖啡油脂
2021/03/03 咖啡文化
php 无限级缓存的类的扩展
2009/03/16 PHP
PHP 配置open_basedir 让各虚拟站点独立运行
2009/11/12 PHP
php cookie用户登录的详解及实例代码
2017/01/03 PHP
javascript 触发事件列表 比较不错
2009/09/03 Javascript
浅谈Javascript事件模拟
2012/06/27 Javascript
跨浏览器的事件对象介绍
2012/06/27 Javascript
JavaScript使用循环和分割来替换和删除元素实例
2014/10/13 Javascript
JS判断客服QQ号在线还是离线状态的方法
2015/01/13 Javascript
javascript实现画不相交的圆
2015/04/07 Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
2015/07/02 Javascript
深入了解JavaScript中的Symbol的使用方法
2015/07/28 Javascript
DWR中各种java方法的调用
2016/05/04 Javascript
微信小程序商品到详情的实现
2017/06/27 Javascript
VueJS组件之间通过props交互及验证的方式
2017/09/04 Javascript
jquery写出PC端轮播图实例
2018/01/26 jQuery
详解vuex中mapState,mapGetters,mapMutations,mapActions的作用
2018/04/13 Javascript
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
2018/05/31 jQuery
JS闭包经典实例详解
2018/12/20 Javascript
微信小程序实现下拉刷新动画
2019/06/21 Javascript
Python实现在matplotlib中两个坐标轴之间画一条直线光标的方法
2015/05/20 Python
Python Paramiko模块的使用实际案例
2018/02/01 Python
TensorFlow 合并/连接数组的方法
2018/07/27 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
2020/03/08 Python
html5设计原理(推荐收藏)
2014/05/17 HTML / CSS
AmazeUI 手机版页面的顶部导航条Header与侧边导航栏offCanvas的示例代码
2020/08/19 HTML / CSS
英国时尚和家居用品零售商:Matalan
2021/02/28 全球购物
GWT (Google Web Toolkit)有哪些主要的原件组成?
2015/06/08 面试题
计算机专业毕业生自荐信范文
2014/03/06 职场文书
房展策划方案
2014/06/07 职场文书
机械设计专业大学生职业生涯规划书范文
2014/09/13 职场文书
2014个人年终工作总结范文
2014/12/15 职场文书
2014年英语工作总结
2014/12/20 职场文书
司机岗位职责范本
2015/04/10 职场文书
Python爬虫之爬取某文库文档数据
2021/04/21 Python
Redis Cluster 字段模糊匹配及删除
2021/05/27 Redis