PHP入门培训教程 php中的时间处理

巴扎黑
巴扎黑 原创
2016-11-07 17:06:41 1288浏览

php中的时间处理

PHP入门培训教程 兄弟连PHP培训

小编整理的 php中的时间处理:

 <? 
  /** 
  * 转换为UNIX时间戳 
  */ 
  function gettime($d) { 
  if(is_numeric($d)) 
  return $d; 
  else { 
  if(! is_string($d)) return0; 
  if(ereg(":",$d)){ 
  $buf = split("+",$d); 
  $year =split("[-/]",$buf[0]); 
  $hour =split(":",$buf[1]); 
  if(eregi("pm",$buf[2])) 
  $hour[0] += 12; 
  returnmktime($hour[0],$hour[1],$hour[2],$year[1],$year[2],$year[0]); 
  }else { 
  $year =split("[-/]",$d); 
  return mktime(0,0,0,$year[1],$year[2],$year[0]); 
  } 
  } 
  } 
  /** 
  * 
  *DateAdd(interval,number,date) 
  * 返回已添加指定时间间隔的日期。 
  * Inetrval为表示要添加的时间间隔字符串表达式,例如分或天 
  * number为表示要添加的时间间隔的个数的数值表达式 
  * Date表示日期 
  * 
  * Interval(时间间隔字符串表达式)可以是以下任意值: 
  * yyyy year年 
  * q Quarter季度 
  * m Month月 
  * y Day of year一年的数 
  * d Day天 
  * w Weekday一周的天数 
  * ww Week of year周 
  * h Hour小时 
  * n Minute分 
  * s Second秒 
  * w、y和d的作用是完全一样的,即在目前的日期上加一天,q加3个月,ww加7天。 
  */ 
  function DateAdd($interval,$number, $date) { 
  $date = gettime($date); 
  $date_time_array =getdate($date); 
  $hours =$date_time_array["hours"]; 
  $minutes =$date_time_array["minutes"]; 
  $seconds =$date_time_array["seconds"]; 
  $month =$date_time_array["mon"]; 
  $day =$date_time_array["mday"]; 
  $year =$date_time_array["year"]; 
  switch ($interval) { 
  case "yyyy":$year +=$number; break; 
  case "q": $month+=($number*3); break; 
  case "m": $month+=$number; break; 
  case "y": 
  case "d": 
  case "w":$day+=$number; break; 
  case "ww":$day+=($number*7); break; 
  case "h": $hours+=$number;break; 
  case "n":$minutes+=$number; break; 
  case "s":$seconds+=$number; break; 
  } 
  $timestamp = mktime($hours,$minutes, $seconds,$month ,$day, $year); 
  return $timestamp; 
  } 
  /** 
  *DateDiff(interval,date1,date2) 
  * 返回两个日期之间的时间间隔 
  * intervals(时间间隔字符串表达式)可以是以下任意值: 
  * w 周 
  * d 天 
  * h 小时 
  * n 分钟 
  * s 秒 
  */ 
  function DateDiff($interval, $date1,$date2) { 
  // 得到两日期之间间隔的秒数 
  $timedifference =gettime($date2) - gettime($date1); 
  switch ($interval) { 
  case "w": $retval= bcp($timedifference ,604800); break; 
  case "d": $retval= bcp( $timedifference,86400); break; 
  case "h": $retval= bcp ($timedifference,3600); break; 
  case "n": $retval= bcp( $timedifference,60); break; 
  case "s": $retval= $timedifference; break; 
  } 
  return $retval; 
  } 
  ?> 
  <? 
  // 测试例 
  $d1 ="2002-01-11"; 
  $d2 =date("Y-m-d",dateadd("d",15,$d1)); 
  echo $d1."的". datediff("d",$d1,$d2)."天后是$d2
"; 
  echo $d1."的10天前是".date("Y-m-d",dateadd("d",-10,$d1))."
"; 
  $d3 = date("Y/m/d H:i:s"); 
  echo "现在是".$d3."距离2002/2/12 12:59:59还有".datediff("s",$d3,"2002/2/1212:59:59")."秒
"; 
  ?>

以上就是PHP入门培训教程 php中的时间处理的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!


声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。