多くの場合、情報の適時性を示すために、時刻を直接印刷するのではなく、「今」、「5分前」、「3時間前」などのように表示されます。たとえば、Weibo や SNS アプリはこの機能を最も長く使用しています。一般にデータベースに保存される時刻形式は Unix タイムスタンプであるため、ここでは Unix タイムスタンプをタイムライン表示に変換する PHP 関数を紹介します。
関数は比較的シンプルで、コードを見るだけで簡単に理解できます。
date_default_timezone_set('PRC');
$date = "1351836000";
echo tranTime($date);
関数 transfer_time($time)
{
$rtime = date("m-d H:i",$time);
$htime = date("H:i",$time);
$time = time() - $time;
if ($time
{
$str = 'ただ';
}
elseif ($time
{
$min = フロア($time/60);
$str = $min.'分前';
}
elseif ($time
{
$h = フロア($time/(60*60));
$str = $h.'時間前'.$htime;
}
elseif ($time
{
$d = フロア($time/(60*60*24));
if($d==1)
$str = '昨日'.$rtime;
その他
$str = '一昨日'.$rtime;
}
それ以外
{
$str = $rtime;
}
$str;
を返します
}
?>
関数 transfer_time() のパラメータ $time は Unix タイムスタンプである必要があることに注意してください。そうでない場合は、まず strtotime() を使用して Unix タイムスタンプに変換してください。