ホームページ  >  記事  >  バックエンド開発  >  PHPはタイムライン機能(パーソナライズされた時間)を実装します

PHPはタイムライン機能(パーソナライズされた時間)を実装します

巴扎黑
巴扎黑オリジナル
2016-11-11 15:04:161758ブラウズ

フォーラムに投稿またはコメントしたり、QQ スペースを使用してログや Weibo のコメントを公開したりすると、公開されたコンテンツの後の時間が「今」、「5 分前」、「昨日 10:00」として表示されます。特定の日付と時刻を直接表示する代わりに、23" などを表示します。
この記事では、タイムラインに基づいて時間変換を実装する方法を紹介します。
まず、いくつかの時間の関数を理解する必要があります:
time(): 現在の Unix タイムスタンプを返します。
date(): ローカルの時刻/日付をフォーマットします。
応用例:
date("Y-m-d H:i:s",time());
現在時刻をフォーマットして出力: 2010-10-11 05:27:35
strtotime(): 任意の英語の日付を変換しますtext 時刻の説明は Unix タイムスタンプに解決されます。
応用例:
echo strtotime("+1 day"), "n";
1日前のタイムスタンプを出力: 1286861475
date_default_timezone_set(): 使用するデフォルトのタイムゾーンを設定します。
通常、北京時間を設定します: date_default_timezone_set("PRC");
上記の関数を理解した後、タイムライン関数を作成します:
この関数の原理は、システムの現在時刻と目標時刻を比較し、その差を取得することです。 , そして、その差分を時間範囲(秒単位に換算)で比較し、時間軸の範囲(例:5分前)に応じて異なる結果を出力します。計算を容易にするために、時間を Unix タイムスタンプに変換します。
関数 tranTime($time) {
$rtime = date("m-d H:i",$time);

$time = time(); $time;

if ($time $str = 'just' } elseif ($time $min = Floor($time/60); $min.'分前'
} elseif ($time $h = Floor($time/(60*60))
$str = $h.' 時間前' .$htime;
} elseif ($time $d = Floor($time/(60*60*24));
昨日'.$rtime
str tranTime() パラメータ $time は Unix タイムスタンプである必要があります。そうでない場合は、まず strtotime() を使用して Unix タイムスタンプに変換してください。上記のコードは一目で理解できるので、これ以上詳しく説明する必要はありません。 関数を呼び出して直接出力します:
$times="1286861696 ";

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