
記念日(ex 結婚記念日)等から本日まで何年経過したかを簡単に知りたい時があります。 PHP scriptを使って「経過期間を表示する」Web計算ツールを作ってみました。 更にこのWeb計算ツールをベースにしたWordPressで使用できるショートコードも作ってみました。
本日までの経過期間・計算ツール
経過期間・計算ツール
経過期間・計算ツールについて
下の「+ PHPファイル」を開くと、今回作成した「経過期間・計算ツール」PHP scriptが展開できますので、興味のある方はご覧ください。
オペレータ
ここから、WordPressを使ってブログを投稿されている方に、「経過期間を表示する」Web計算ツールをベースにした、経過期間を表示するショートコードの紹介になります。
本日までの経過期間を表示するショートコードの作成
shortcode [elapsed_time input_day="開始年月日"] 開始年月日のフォーマットは、yyyy-mm-dd や yyyyy/mm/dd で記述します。ショートコードの作成は、下の「ショートコード( PHP)」を、WordPressの子テーマのfunctions.phpにコピペします。
ショートコード( PHP)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
function calculate_elapsed_time($atts) { // ショートコードの引数を設定 $atts = shortcode_atts(array( 'input_day' => '2000-01-01', // デフォルトの開始年月日を設定 ), $atts); // 日付オブジェクトを作成 $input_day = new DateTime($atts['input_day']); $now = new DateTime(); // 差分を計算 $interval = $now->diff($input_day); $stump_y = $interval->format('%y'); $stump_m = $interval->format('%m'); $stump_d = $interval->format('%d'); //経過年が0の時の処理 if ( $stump_y == 0){ //yが0なら空に $stump_y = "" ;} else { $stump_y = $stump_y . "年" ; } //経過月が0の時の処理 if ( $stump_m == 0 ){ //mが0なら空に $stump_m = "" ; if ( !$stump_y == 0){ // 且つ、もしも、yが0なら「と」にする $stump_m = "と" ;} if ($stump_d == 0){ // 且つ、更にdが0なら空に $stump_m = "" ;} } else { $stump_m = $stump_m . "ヶ月" ; } //経過日が0の時の処理 if ( $stump_d == 0){ //dが0なら空に $stump_d = "" ;} else { $stump_d = $stump_d . "日" ; } return $stump_y . $stump_m . $stump_d ; } // ショートコードを登録 add_shortcode('elapsed_time', 'calculate_elapsed_time'); // 完成ショートコード [elapsed_time input_day="2000-01-01"] |
2025年11月15日(現在)
ショートコード表示例
- 日本初のラジオ放送開始(1925/3/22)から 100年7ヶ月24日 経過しています。
- NHKテレビの本放送開始(1953/2/1)から 72年9ヶ月14日 経過しています。
- 地デジ移行日(2012/3/31)から 13年7ヶ月15日 経過しています。
上の赤文字の年月日 が今回作成したショートコード[elapsed_time input_day="開始年月日"]を使って表示させています。
以上、「本日までの経過期間を表示するWeb計算ツール」の紹介でした。
関連記事