DateTime::format
DateTimeImmutable::format
DateTimeInterface::format
date_format
(PHP 5 >= 5.2.1, PHP 7)
DateTime::format -- DateTimeImmutable::format -- DateTimeInterface::format -- date_format — 指定した書式でフォーマットした日付を返す
説明
オブジェクト指向型
public DateTime::format
( string $format
) : string|false
public DateTimeImmutable::format
( string $format
) : string|false
public DateTimeInterface::format
( string $format
) : string|false
手続き型
date_format
( DateTime $object
, string $format
) : string|false
指定した書式でフォーマットした日付を返します。
パラメータ
object
手続き型のみ: date_create() が返す DateTime オブジェクト
format
出力される日付文字列の書式。以下のオプションを参照ください。 定義済みの定数 も用意されており、たとえば
DATE_RSS
はフォーマット文字列'D, d M Y H:i:s'
と同じ意味になります。以下の文字が format
パラメータ文字列として認識されますformat
文字説明 戻り値の例 日 --- --- d
日。二桁の数字(先頭にゼロがつく場合も) 01
から31
D
曜日。3文字のテキスト形式。 Mon
からSun
j
日。先頭にゼロをつけない。 1
から31
l
(小文字の 'L')曜日。フルスペル形式。 Sunday
からSaturday
N
ISO-8601 形式の、曜日の数値表現 1
(月曜日)から7
(日曜日)S
英語形式の序数を表すサフィックス。2 文字。 st
,nd
,rd
または
th
。j
と一緒に使用する ことができる。w
曜日。数値。 0
(日曜)から6
(土曜)z
年間の通算日。数字。(ゼロから開始) 0
から365
週 --- --- W
ISO-8601 月曜日に始まる年単位の週番号 例: 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
)が前年あるいは翌年に属する場合はそちらの年を使うという点が異なる。例: 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
マイクロ秒。 date() の場合、これは常に
000000
となることに注意しましょう。というのも、 この関数が受け取るパラメータは int 型だからです。 一方 DateTime をマイクロ秒つきで作成した場合は、 DateTime::format() はマイクロ秒にも対応しています。例: 654321
v
ミリ秒 (PHP 7.0.0 で追加) u
と同じ注釈が当てはまります。例: 654
タイムゾーン --- --- e
タイムゾーン識別子 例: UTC
,GMT
,Atlantic/Azores
I
(大文字の i)サマータイム中か否か 1
ならサマータイム中。0
ならそうではない。O
グリニッジ標準時 (GMT) との時差。時間と分の間にコロンは入りません。
例: +0200
P
グリニッジ標準時 (GMT) との時差。時間と分をコロンで区切った形式 例: +02:00
p
P
と同じですが、+00:00
ではなくZ
を返します。例: +02:00
T
タイムゾーンの略称 例: EST
,MDT
...Z
タイムゾーンのオフセット秒数。 UTC の西側のタイムゾーン用のオフセットは常に負です。そして、 UTC の東側のオフセットは常に正です。
-43200
から50400
全ての日付/時刻 --- --- c
ISO 8601 日付 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() も参照 フォーマット文字列中の認識されない文字は、そのまま表示されます。
Z
形式は、 gmdate() で使用した場合、常に0
を返します。注意:
この関数が受け付けるのは int のタイムスタンプだけです。したがって、書式指定文字
u
が有用となるのは date_create() で作成したタイムスタンプを用いて date_format() を使用した場合のみです。
返り値
成功した場合にフォーマット済みの日付文字列、失敗した場合に false
を返します。
例
例1 DateTime::format() の例
オブジェクト指向型
<?php$date = new DateTime('2000-01-01');echo $date->format('Y-m-d H:i:s');?>
手続き型
<?php$date = date_create('2000-01-01');echo date_format($date, 'Y-m-d H:i:s');?>
上の例の出力は以下となります。
2000-01-01 00:00:00
注意
このメソッドはロケールを考慮しません。出力結果はすべて英語となります。