ブログ
WordPressで日付を表示するテンプレートタグ「the_time」と「the_date」の違い
こんにちは。株式会社コミュニティコムの星野邦敏です。
WordPressで日付を表示したい場合があると思います。
そのような時、WordPressテーマへの書き方として、「the_time」と「the_date」という、テンプレートタグがあります。
テンプレートタグ/the time – WordPress Codex 日本語版
テンプレートタグ/the date – WordPress Codex 日本語版
具体的な大きな違いは、
「the_date」テンプレートの時は、同じ日に複数の記事がある場合は、最初の記事とともに一度だけ出力される、という点です。
ということで、運営上は、何だかんだで、「the_time」を使った方が無難な印象があります。
WordPressテーマに
<?php the_time('Y年m月d日'); ?>
などと書きましょう。そうすると、日付が
2012年09月23日
というように、表示されます。
書き方として、
<?php the_time('Y/m/d'); ?>
と書けば、
2012/09/23
と表示されます。
このように、表記の仕方は色々とありまして、数字の書き方も以下の様な形で、PHPの表示の仕方に従って、複数用意されています。
日付の数字などは、
PHP: date – Manual
を見ると、表示の仕方が載っています。
例えば、
「Y」は、「年。4 桁の数字。」となり、「2012」と表示されますし、
「y」は、「年。2 桁の数字。」ととなり、「12」と表示されます。
———-
<「日」に関する表記>
d
日。二桁の数字(先頭にゼロがつく場合も)
例:01 から 31
D
曜日。3文字のテキスト形式。
例:Mon から Sun
j
日。先頭にゼロをつけない。
例:1 から 31
l
(小文字の ‘L’) 曜日。フルスペル形式。
例:Sunday から Saturday
N
ISO-8601 形式の、曜日の数値表現 (PHP 5.1.0 で追加)。
例:1(月曜日)から 7(日曜日)
S
英語形式の序数を表すサフィックス。2 文字。
例:st, nd, rd または th。jと一緒に使用することができる。
w
曜日。数値。
例:0 (日曜)から 6 (土曜)
z
年間の通算日。数字。(ゼロから開始)
例:0 から 365
<「週」に関する表記>
W
ISO-8601 月曜日に始まる年単位の週番号 (PHP 4.1.0 で追加)
例:42 (年の第 42 週目)
<「月」に関する表記>
F
月。フルスペルの文字。
例:January から December
m
月。数字。先頭にゼロをつける。
例:01 から 12
M
月。3 文字形式。
例:Jan から Dec
n
月。数字。先頭にゼロをつけない。
例:1 から 12
t
指定した月の日数。
例:28 から 31
<「年」に関する表記>
L
閏年であるかどうか。
例:1なら閏年。0なら閏年ではない。
o
ISO-8601 形式の年。これは Y ほぼ同じだが、ISO 週番号 (W)が前年あるいは翌年に属する場合がある点で 異なる(PHP 5.1.0 で追加)。
例:1999 あるいは 2003
Y
年。4 桁の数字。
例:1999または2003
y
年。2 桁の数字。
例:99 または 03
<「時」に関する表記>
a
午前または午後(小文字)
例:am または pm
A
午前または午後(大文字)
例:AM または PM
B
Swatch インターネット時間
例:000 から 999
g
時。12時間単位。先頭にゼロを付けない。
例:1 から 12
G
時。24時間単位。先頭にゼロを付けない。
例:0 から 23
h
時。数字。12 時間単位。
例:01 から 12
H
時。数字。24 時間単位。
例:00 から 23
i
分。先頭にゼロをつける。
例:00 から 59
s
秒。先頭にゼロをつける。
例:00 から 59
u
マイクロ秒 (PHP 5.2.2 で追加)。 date() の場合、これは常に 000000 となることに注意しましょう。
というのも、この関数が受け取るパラメータは integer 型だからです。
一方 DateTime::format() はマイクロ秒にも対応しています。
例:654321
<「タイムゾーン」に関する表記>
e
タイムゾーン識別子(PHP 5.1.0 で追加)
例:UTC, GMT, Atlantic/Azores
I (大文字の i)
サマータイム中か否か、1ならサマータイム中。0ならそうではない。
O
グリニッジ標準時 (GMT) との時差
例:+0200
P
グリニッジ標準時 (GMT) との時差。時間と分をコロンで区切った形式 (PHP 5.1.3 で追加)。
例:+02:00
T
タイムゾーンの略称
例:EST, MDT
Z
タイムゾーンのオフセット秒数。 UTC の西側のタイムゾーン用のオフセットは常に負です。そして、UTC の東側のオフセットは常に正です。
-43200 から 50400
<「全ての日付/時刻」に関する表記>
c
ISO 8601 日付 (PHP 5 で追加されました)
例:2004-02-12T15:19:21+00:00
r
RFC 2822 フォーマットされた日付
例:Thu, 21 Dec 2000 16:01:07 +0200
U
Unix Epoch (1970 年 1 月 1 日 0 時 0 分 0 秒) からの秒数
time() も参照
———-
これを応用すれば、例えば、曜日に関して、
Sunday から Saturday
のような英語しか用意されていないようにも見えますが、
if文の条件分岐や、arrayの連想配列で、
Sundayと表示があった際には日曜日とする、という書き方もできたり、応用もききます。
その辺りは別記事とするとして、まずは、WordPressで日付を表示するテンプレートタグには、「the_time」と「the_date」があり、
私は、同じ日に複数の記事がある場合にもそれぞれ日付が表示される「the_time」を使っています。
また、
<?php the_time( get_option( 'date_format' ) ); ?>
とすると、
管理画面の[設定 > 一般]にある「日付のフォーマット」で選択した日付フォームで表示されます。
運営者に日付の表記を選択させる場合には、この書き方が便利です。
以上となります。
それでは、また!
IT事業と不動産運営事業を行う株式会社コミュニティコムの代表取締役。埼玉県さいたま市の大宮駅東口近くの「コワーキングスペース7F」「シェアオフィス6F」「貸会議室6F」の運営代表者。「大宮経済新聞」の編集長。WordPress日本語公式サイトのイベントカレンダー更新。他、複数の一般社団法人とNPO法人の理事などをしています。趣味は自分の思い付いたWebサービスを自分で自由に開発することです。最近は農業と食と家庭菜園のビジネスなどにも興味があります。