ただの秒数計算です。以下のコードはSmartyのプラグインですが、見たらわかるので、他でも利用できると思います。
$timestampに計算したいタイムスタンプを入れる
$newtimeには計算のもととなる時間を入れる(未入力の場合はtime()で現在の時間を利用する)
$timestampに計算したいタイムスタンプを入れる
$newtimeには計算のもととなる時間を入れる(未入力の場合はtime()で現在の時間を利用する)
<?php /** * modifier.backtime.php * Smarty plugin * @package Smarty * @subpackage plugins */ function smarty_modifier_backtime($timestamp,$newtime=null) { $now = strtotime($timestamp); $new = ($newtime)? $newtime : time(); $tt = $new - $now; // 渡された時間と、現在の時間の差分を計算 if( $tt >= 0 && $tt < 10 ){ // 0秒~10秒 $result = sprintf("たった今"); }elseif( $tt >= 10 && $tt < 60 ){ // 10秒~60秒 $result = sprintf("%d秒前",$tt); }elseif( $tt >= 60 && $tt < 3600 ){ // 60秒~1時間 $result = sprintf("%d分前",$tt/60); }elseif( $tt >= 3600 && $tt < 86400 ){ // 1時間~24時間 $result = sprintf("%d時間前",$tt/60/60); }elseif( $tt >= 86400 && $tt < 2592000 ){ // 24時間~30日 $result = sprintf("%d日前",$tt/60/60/24); }else{ $result = $timestamp; } return $result; }
コメントを残す