ホームページ >バックエンド開発 >PHPチュートリアル >PHPがタイムライン機能(パーソナライズされた時間)を実装
PHPがタイムライン機能(パーソナライズされた時間)を実装しました
フォーラムに投稿したり、コメントしたり、QQスペースを使用してログやWeiboのコメントを投稿したりすると、公開されたコンテンツの後の時間が「今」、「具体的な日時を直接表示するのではなく、「5分前」「昨日10時23分」などと表示します。
この記事では、タイムラインに基づいて時間変換を実装する方法を紹介します。
まず、時間のいくつかの関数を理解する必要があります。
time(): 現在の Unix タイムスタンプを返します。
date(): ローカルの時刻/日付をフォーマットします。
アプリケーション例:
date("Y-m-d H:i:s",time());
現在時刻の形式、出力: 2010-10-11 05:27:35
strtotime( ): 英語テキストの日時記述を Unix タイムスタンプに解析します。
適用例:
echo strtotime(" 1 day"), "n";
1 日前のタイムスタンプを出力: 1286861475
date_default_timezone_set(): 使用するデフォルトのタイムゾーンを設定します。
通常、北京時間を設定します: date_default_timezone_set("PRC");
上記の関数を理解した後、タイムライン関数を作成します:
この関数の原理は、現在のシステム時刻と目標時刻を比較することです。 、Aの差分値を取得し、その差分値を時間範囲(秒単位に換算)と比較し、時間軸の範囲(例:5分前)に応じて異なる結果を出力します。計算を容易にするために、時間を Unix タイムスタンプに変換します。
関数 tranTime($time) {
$rtime = date("m-d H:i",$time);
$htime = date("H:i",$time);
$time = time() - $time;
if ($time $str = 'just';
}
elseif ($time
; 60 * 60) {
$min = フロア($time/60);
$str = $min.'分前' * 24) {
$h = フロア($time/( 60 * 60)); $rtime;
else
$str = '一昨日'.$rtime;
}
else {
$str = $rtime; }
return $ str ;
}
関数 tranTime() のパラメータ $time は Unix タイムスタンプでなければなりません。そうでない場合は、まず strtotime() を使用して Unix タイムスタンプに変換してください。上記のコードは一目で理解できるので、これ以上詳しく説明する必要はありません。
関数を呼び出して直接出力します:
$times="1286861696 ";
echo tranTime($times);
添付ファイルのダウンロード アドレス: http://www.huiyi8.com/sc/24508 .html