熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> SQL Server >> 正文

如何模擬SQL Server的兩個日期處理函數

2013-11-15 14:39:58  來源: SQL Server 

  //在PHP中處理日期非常不方便比如求兩個日期之間相差的月份?該怎麼辦呢? 
  //文件名dateincphp 
  //在使用這兩個函數前要先將日期或日期時間轉換成timestamp類型 
  //如 
  //$today=mktime(date(m)date(d)date(Y)); 
  
  /****模擬sqlserver中的dateadd函數******* 
  $part 類型string 
  取值范圍yearmonthdayhourminsec 
  表示要增加的日期的哪個部分 
  $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=; 
  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 
  取值范圍yearmonthdayhourminsec 
  表示要增加的日期的哪個部分 
  $date$date 類型timestamp 
  表示要比較的兩個日期 
  返回 類型數值 
  **************結束*(*************/ 
  function datediff($part$date$date){ 
  //$diff=$date$date; 
  $year=date(Y$date); 
  $year=date(Y$date); 
  $month=date(m$date); 
  $month=date(m$date); 
  $day=date(d$date); 
  $day=date(d$date); 
  $hour=date(d$date); 
  $hour=date(d$date); 
  $min=date(i$date); 
  $min=date(i$date); 
  $sec=date(s$date); 
  $sec=date(s$date); 
  
  $part=strtolower($part); 
  $ret=; 
  switch ($part) { 
  case year: 
  $ret=$year$year; 
  break; 
  case month: 
  $ret=($year$year)*+$month$month; 
  break; 
  case day: 
  $ret=(mktime($month$day$year)mktime($month$day$year))/(*); 
  break; 
  case hour: 
  $ret=(mktime($hour$month$day$year)mktime($hour$month$day$year))/; 
  break; 
  case min: 
  $ret=(mktime($hour$min$month$day$year)mktime($hour$min$month$day$year))/; 
  break; 
  case sec: 
  $ret=$date$date; 
  break; 
  default: 
  return $ret; 
  break; 
  } 
  return $ret; 
  } 
  
  }
From:http://tw.wingwit.com/Article/program/SQLServer/201311/22145.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.