萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php自定義的格式化時間示例代碼

php自定義的格式化時間示例代碼

 時間剛好是5分鐘前,則對應的時間戳就會被格式化為5分鐘前,自定義的格式化時間方法如下,感興趣的朋友可以參考下

如:時間剛好是5分鐘前,則對應的時間戳就會被格式化為5分鐘前,不多說了,直接貼上代碼:  代碼如下: /**  * 格式化時間  * @param integer $timestamp 時間戳  * @param string $format dt=日期時間 d=日期 t=時間 u=個性化 其他=自定義  * @param integer $timeoffset 時區值  * @param string $custom_format 自定義時間格式  * @return string  */  public function dgmdate( $timestamp, $format = 'dt', $timeoffset = '9999', $custom_format = '' ) {  $return = '';  $now = time();  $day_format = 'Y-n-j';  $time_format = 'H:i:s';  $date_format = $day_format . ' ' . $time_format;  $offset = 8; //這裡默認是東八區,也就是北京時間  $lang = array(  'before' => '前',  'day' => '天',  'yday' => '昨天',  'byday' => '前天',  'hour' => '小時',  'half' => '半',  'min' => '分鐘',  'sec' => '秒',  'now' => '剛剛',  );  $timeoffset = $timeoffset == 9999 ? $offset : $timeoffset;  $timestamp += $timeoffset * 3600;  switch ( $format ) {  case 'dt':  $format = $date_format;  break;  case 'd':  $format = $day_format;  break;  case 't':  $format = $time_format;  break;  }  if ( $format == 'u' ) {  $todaytimestamp = $now - ($now + $timeoffset * 3600) % 86400 + $timeoffset * 3600;  $s = gmdate( empty( $custom_format ) ? $date_format : $custom_format, $timestamp );  $time = $now + $timeoffset * 3600 - $timestamp;  if ( $timestamp >= $todaytimestamp ) {  if ( $time > 3600 ) {  $return = '<span title="' . $s . '">' . intval( $time / 3600 ) . $lang['hour'] . $lang['before'] . '</span>';  } elseif ( $time > 1800 ) {  $return = '<span title="' . $s . '">' . $lang['half'] . $lang['hour'] . $lang['before'] . '</span>';  } elseif ( $time > 60 ) {  $return = '<span title="' . $s . '">' . intval( $time / 60 ) . $lang['min'] . $lang['before'] . '</span>';  } elseif ( $time > 0 ) {  $return = '<span title="' . $s . '">' . $time . $lang['sec'] . $lang['before'] . '</span>';  } elseif ( $time == 0 ) {  $return = '<span title="' . $s . '">' . $lang['now'] . '</span>';  } else {  $return = $s;  }  } elseif ( ($days = intval( ($todaytimestamp - $timestamp) / 86400 )) >= 0 && $days < 7 ) {  if ( $days == 0 ) {  $return = '<span title="' . $s . '">' . $lang['yday'] . gmdate( $time_format, $timestamp ) . '</span>';  } elseif ( $days == 1 ) {  $return = '<span title="' . $s . '">' . $lang['byday'] . gmdate( $time_format, $timestamp ) . '</span>';  } else {  $return = '<span title="' . $s . '">' . ($days + 1) . $lang['day'] . $lang['before'] . '</span>';  }  } else {  $return = $s;  }  } else {  $return = gmdate( $format, $timestamp );  }  return $return;  }     
copyright © 萬盛學電腦網 all rights reserved