ホームページ  >  記事  >  バックエンド開発  >  PHPカスタムフォーマット時間について

PHPカスタムフォーマット時間について

不言
不言オリジナル
2018-06-21 14:58:311696ブラウズ

この記事では、主に PHP のカスタム フォーマット時間を紹介します。これは、必要な友人が参照できるようにするためのものです。対応するタイムスタンプは 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 = &#39;<span title="&#39; . $s . &#39;">&#39; . intval( $time / 3600 ) . $lang[&#39;hour&#39;] . $lang[&#39;before&#39;] . &#39;</span>&#39;; 
} elseif ( $time > 1800 ) { 
$return = &#39;<span title="&#39; . $s . &#39;">&#39; . $lang[&#39;half&#39;] . $lang[&#39;hour&#39;] . $lang[&#39;before&#39;] . &#39;</span>&#39;; 
} elseif ( $time > 60 ) { 
$return = &#39;<span title="&#39; . $s . &#39;">&#39; . intval( $time / 60 ) . $lang[&#39;min&#39;] . $lang[&#39;before&#39;] . &#39;</span>&#39;; 
} elseif ( $time > 0 ) { 
$return = &#39;<span title="&#39; . $s . &#39;">&#39; . $time . $lang[&#39;sec&#39;] . $lang[&#39;before&#39;] . &#39;</span>&#39;; 
} elseif ( $time == 0 ) { 
$return = &#39;<span title="&#39; . $s . &#39;">&#39; . $lang[&#39;now&#39;] . &#39;</span>&#39;; 
} else { 
$return = $s; 
} 
} elseif ( ($days = intval( ($todaytimestamp - $timestamp) / 86400 )) >= 0 && $days < 7 ) { 
if ( $days == 0 ) { 
$return = &#39;<span title="&#39; . $s . &#39;">&#39; . $lang[&#39;yday&#39;] . gmdate( $time_format, $timestamp ) . &#39;</span>&#39;; 
} elseif ( $days == 1 ) { 
$return = &#39;<span title="&#39; . $s . &#39;">&#39; . $lang[&#39;byday&#39;] . gmdate( $time_format, $timestamp ) . &#39;</span>&#39;; 
} else { 
$return = &#39;<span title="&#39; . $s . &#39;">&#39; . ($days + 1) . $lang[&#39;day&#39;] . $lang[&#39;before&#39;] . &#39;</span>&#39;; 
} 
} else { 
$return = $s; 
} 
} else { 
$return = gmdate( $format, $timestamp ); 
} 
return $return; 
}

をそのまま貼り付けてください。これがこの記事の全内容です。その他の関連コンテンツについては、こちらをご覧ください。 PHP 中国語 Web サイトに注意してください。

# 関連する推奨事項:


exec、system、およびその他の関数を使用して PHP でシステム コマンドを呼び出す方法について

時差を文字列に変換する PHP 実装

##

以上がPHPカスタムフォーマット時間についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。