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

//文件名: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应用程序加速探索之简介

CSS翻页效果,鼠标放上时变化,无需JS

用js互相调用iframe页面内的js函数

Exchange 2000 Instant Messaging(组图)

FreeBSD为powerd设置cpu最小工作频率

Mysql LONGTEXT 类型存储大文件(二进制也可以) (修改+调试+整理)

Wordpress技巧:解决注册登录死循环问题

Exadel宣布AJAX在Studio Pro 3.5中支持JSF

jquery $.ajax入门应用一

改注册表用记事本关联未知类型文件

网页设计应该熟知的CSS 3.0技术

js下为表格内部动态添加行的代码

一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)

部分软件在Ubuntu系统下的替代品

php sql datediff,PHP_模拟SQLSERVER的两个函数:dateadd(),datediff(),?php//文件名:date.inc.php3//在 - phpStudy...相关推荐

  1. sqlserver日期函数 dateadd,datediff ,datepart ,datename,convert

    reference:http://www.cnblogs.com/coconut_zhang/archive/2009/02/02/1382598.html http://blog.itpub.net ...

  2. oracle sql stddev,STDDEV和VARIANCE这两个函数是怎么用

    Stddev返回expr的样本标准偏差.它可用作聚集和分析函数.它与stddev_samp的不同之处在于,当计算的输入数据只有一行时,stddev返回0,而stddev_samp返回null. Ora ...

  3. SQLIOSim 模拟SQLServer的行为来测试IO性能

    SQLIOSim 功能: 模拟SQLServer的行为来测试IO性能. SQLIOSim的版本: (1) SQL Server 2005的SQLIOSim是需要上网下载的套件. (2) 从SQL Se ...

  4. mysql中日期怎样求差_在Sql语句中怎样计算出两个日期的差值

    展开全部 sql语句中计算两个日期的差值用32313133353236313431303231363533e4b893e5b19e31333365643662datediff函数. 工具:sqlser ...

  5. SQL Server 2008 数据库同步的两种方式 (发布、订阅)

    参考转载: SQL Server 2008 数据库同步的两种方式 (发布.订阅) 使用Sqlserver事务发布实现数据同步 转载于:https://www.cnblogs.com/YangBinCh ...

  6. 利用SQL语句自动生成序号的两种方式

    1.首先,我们来介绍第一种方式: ◆查询的SQL语句如下: select row_number() over (order by name) as rowid, sysobjects.[name] f ...

  7. mysql2000日期加减,SQL日期处理函数DATEADD和DATEDIFF详解

    SQL Server数据库中,DATETIME和SMALLDATETIME的值是存储为整数的.虽然如此,SQL Server数据库并不因此支持对这两种类型的值做数学运算. 不过,我们一定会有给日期或时 ...

  8. 固态硬盘和机械硬盘的比较和SQLSERVER在两种硬盘上的性能差异

    固态硬盘和机械硬盘的比较和SQLSERVER在两种硬盘上的性能差异 在看这篇文章之前可以先看一下下面的文章: SSD小白用户收货!SSD的误区如何解决 这样配会损失性能?实测6种特殊装机方式 听说固态 ...

  9. sqlserver计算两个日期之间的工作日(剔除周末及法定节假日)

    sqlserver计算两个日期之间的工作日(剔除周末及法定节假日) create function [dbo].[WorkDay] ( @beginday datetime, @endday date ...

最新文章

  1. Python文件的使用
  2. mysql---表所在数据库
  3. python教程:%s、%d、%f的使用
  4. python创建多个txt文件-python-在目录中创建多个文本文件的字数字...
  5. php mysql修复_MySQL数据表损坏的巧妙修复
  6. Oleans集群之Consul再解释
  7. oc引导win方法_[OC更新]机械革命X1/X6TIS标压测试版更新
  8. 事理逻辑为核心的自然语言处理理论实践与工业探索项目
  9. 设计模式--6大原则--依赖倒置原则
  10. 深耕小而美的领域,也能过好一生
  11. Vue自定义指令—— 完美解决H5页面不同尺寸屏幕的适配问题
  12. 统计学基础之卡方检验
  13. 若依集成yuicompressor实现(CSS/JS压缩)
  14. Redhat Linux系列(Fedora,CentOS,Redhat enterprise)中一些常用软件
  15. 如何用mac刷路由器
  16. ubuntu CA安装 证书申请
  17. 单片机常用之晶振电路工作原理简述
  18. sqlmap tamper mysql_sqlmap tamper的使用
  19. python前戏之量
  20. matlab圆锥曲线,圆锥曲线:MATLAB绘制椭圆方程的图像 来充电吧

热门文章

  1. linux 删除文件第一行的方法
  2. mysql8 1251错误_navicat错误1251
  3. 赵丽颖明星人物介绍html源码 html期末大作业 课程设计
  4. 用 Wolfram 语言透视埃舍尔的立方体空间
  5. 智能停车场系统的需求应用分析
  6. MySql数据库主从配置详细教程
  7. 电脑故障排除-------外来文章
  8. 计算机毕业设计springboot健身俱乐部会籍管理系统cbz46源码+系统+程序+lw文档+部署
  9. vs2019打开xsd文件报错 “值不能为null 参数名instance“
  10. C#陈广自学视频笔记5