>백엔드 개발 >PHP 튜토리얼 >PHP 입문 교육 튜토리얼 시간 처리 PHP

PHP 입문 교육 튜토리얼 시간 처리 PHP

巴扎黑
巴扎黑원래의
2016-11-07 17:06:411640검색

PHP에서 시간 처리

PHP 입문 교육 튜토리얼 Brothers 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 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.