ブログ

株式会社コミュニティコム採用情報 自由な働き方ができるから、パパ・ママにも優しい職場 復業OK、起業したい方、経験を積みたい方、あなたの夢を応援します

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' ) ); ?>

とすると、
管理画面の[設定 > 一般]にある「日付のフォーマット」で選択した日付フォームで表示されます。
運営者に日付の表記を選択させる場合には、この書き方が便利です。

以上となります。
それでは、また!