説明
string human_time_diff( int $from [ , int $to = '' ] )
時間差を'5分'や'2日'のような感覚的な表現で取得する。
パラメータ
- $from比較する時刻(GMT秒)を指定。
- $to比較するもう1つの時刻(GMT秒)を指定(省略時は'')。
返り値
時間差を示す文字列を返す。注意
パラメータ$toが省略された(''の)場合は、呼び出し時点の時刻が適用される。パラメータ$fromと$toの差のみを評価し、前後の判定は行わない。
出力される文字列は次の形式となる(言語設定によって変わる)。
時間差 | 日本語環境 | 英語環境 |
---|---|---|
1分未満* | n秒 | n second または n seconds |
1時間未満 | n分 | n min または n mins |
1時間以上24時間未満 | n時間 | n hour または n hours |
24時間以上7日未満 | n日 | n day または n days |
7日以上30日未満 | n週 | n week または n weeks |
30日以上365日未満 | nか月 | n month または n months |
365日以上 | n年 | n year または n years |
*[5.3.0]時間差が1分未満の場合に秒単位で表示するようになった。
使用例
- 投稿情報$postがいつ投稿されたのかを取得する。<?php $diff = human_time_diff( $post->post_date ); ?>
フィルター
[4.0.0]時差を示す文字列を返す直前で'human_time_diff'フィルターを呼び出す。パラメータ$sinceは時差を示す文字列、$diffは時差の秒数、$fromと$toは本関数が受け取った値となる。return apply_filters( 'human_time_diff', $since, $diff, $from, $to );
アクション
直接実行するアクションはありません。ソースファイル
/wp-includes/formatting.php最終更新 : 2019年11月18日 14:48
関連
お勧め
プラグインのロード順を制御する(2014年6月9日 更新)
これまでプラグインがどのような順番でロードされるか意識していなかったのだが、とある自作プラグインを他のプラグインよりも先にロードさせたくなったので調べてみた。
Emojin:プラグイン作ってみました(2015年3月21日 更新)
ちょっと前のTLでiOSの絵文字を含んだ投稿を保存すると、絵文字以降の文章がすべて消えた状態で保存されるといったツイートを見かけた。少し検索してみると、MySQLのデータベースの文字セットが「utf8」の場合、iOSの絵文字のような4バイトの文字を正常に保存できず、それ以降の文章も保存されないというものらしい。対処方法としてデータベースの文字セットを「utf8mb4」に変更するのが有効らしいのだが、他に回避策がないか考えてみた。Contact Form 7に確認フェーズを(2012年12月16日 更新)
Contact Form 7はWordPressによるサイト製作でお世話になることが多いプラグインの1つ。ただ、クライアント様によっては、入力、確認、送信の3フェーズにしたいという要望があり、そんな時は別の方法を採用していたのですが、JavaScript(jQuery)を使ってページ遷移しなくてもいいなら確認フェーズは用意できるかなと思い、作り込んでみた。プラグインのヘッダー情報を国際化対応しよう(2018年5月27日 更新)
バージョン4.8がリリースされてひと段落。あらためてプラグイン一覧ページを見てみると「Akismet」が「Akismet Anti-Spam (アンチスパム)」と表示されていた。説明文だけじゃなくプラグイン名も国際化対応できたのね。
メタボックスをクラシックエディターのみで表示する(2019年1月15日 更新)
投稿画面向けにメタボックスを使ったプラグインがあり、それがブロックエディターで意図した通りに機能しなかった。この対処方法を考える過程でエディタータイプに応じてメタボックスを出し分けできる方法が見つかったので紹介したい。