日時データ(2014-05-01 23:59:59)をTwitterなどで使われている「○秒前」「○分後」「○時間前」「○日前」のような表記に変換するには、以下のスクリプトを使う。
いずれも「created_at」に「2014-05-01 23:59:59」のような形式のデータを渡すものとする。
Javascriptで使う場合
JAVASCRIPT
function (created_at){ var created_at = Date.parse(created_at); var now = (new Date()).getTime(); var passage = (now - created_at) / 1000; if(passage < 60){ passage = Math.ceil(passage); return passage + '秒前'; } if(passage < 3600){ passage = Math.ceil(passage / 60); return '約' + passage + '分前'; } if(passage < 3600 * 24){ passage = Math.ceil(passage / 3600); return '約' + passage + '時間前'; } passage = Math.ceil(passage / ( 3600 * 24)); return passage + '日前'; }
phpで使う場合
PHP
function created_time($created_at){ $created = strtotime($created_at); $passage = time() - $created; if($passage < 60){ $passage = round($passage); return $passage . "秒前"; } if($passage < 3600){ $passage = round($passage / 60); return "約" . $passage . "分前"; } if($passage < 3600 * 24){ $passage = round($passage / 3600); return "約" . $passage . "時間前"; } $passage = round($passage / ( 3600 * 24)); return $passage . "日前"; }