Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Zeitverarbeitungscode

PHP-Zeitverarbeitungscode

怪我咯
怪我咯Original
2017-07-16 10:30:511940Durchsuche

In PHP müssen wir den Zeitstempel in ein Datum konvertieren, indem wir die Datumsfunktion direkt verwenden. Wenn wir das Datum in einen Zeitstempel umwandeln möchten, können wir die Funktion strtotime() verwenden. wie folgt Lassen Sie mich Ihnen ein Beispiel geben.

<?
/**
* 转换为UNIX
时间戳
*/
function gettime($d) {
  if(is_numeric($d))
    
return
 $d;
  else {
    if(! is_
string
($d)) return 0;
    if(ereg(":",$d)) {
      $buf = split(" +",$d);
      $year = split("[-/]",$buf[0]);
      $hour = split(":",$buf[1]);
      if(eregi("pm",$buf[2]))
        $hour[0] += 12;
      return mktime($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 = "2017-07-16";
$d2 = date("Y-m-d",dateadd("d",15,$d1));
echo $d1."的". datediff("d",$d1,$d2)."天后是$d2<br>";
echo $d1."的10天前是".date("Y-m-d",dateadd("d",-10,$d1))."<br>";
$d3 = date("Y/m/d H:i:s");
echo "现在是".$d3."距离2017/8/18 12:59:59还有".datediff("s",$d3,"2002/2/12 12:59:59")."秒<br>";
?>


Das obige ist der detaillierte Inhalt vonPHP-Zeitverarbeitungscode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn