スキルアップを始める!

【PHP】現在時刻を取得して表示する&デフォルトのタイムゾーンを指定する方法|date()

PHP(ピーエイチピー)
この記事は約6分で読めます。

※記事中に広告情報を含みます。

\ワードプレスのスキルアップはこちら!/ WordPress入門読本

phpで「現在時刻(現在日時)」を取得したいと思った時に使える方法です。

【公式】マニュアルはこちら

サンプルはこちら

https://php.eguweb.net/p001/

date( )

date(PHP 4, PHP 5, PHP 7)
date — ローカルの日付/時刻を書式化する

date ( フォーマット )
date ( string $format [, int $timestamp = time() ] ) : string

を使うことで、現在日時を取得できます。

日付:format一覧

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 月曜日に始まる年単位の週番号 例: 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 をマイクロ秒つきで作成した場合は、 DateTime::format() はマイクロ秒にも対応しています。 例: 654321
v ミリ秒 (PHP 7.0.0 で追加) uと同じ注釈が当てはまります。 例: 654
タイムゾーン — —
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() も参照

timestamp

数字以外が使用された場合は FALSE が返され、E_WARNING レベルのエラーが発生します。

echo date('l jS \of F Y h:i:s A');

このように書くと、「Monday 8th of August 2005 03:12:46 PM 」のように出力されます。

date("Y-m-d H:i:s")

このように書くと、「2020-10-27 07:56:57」のような表示になります。

function eguweb_now_time() {
$today = date("Y-m-d H:i:s");
print_r('現在時刻:<div style="font-size:2.0em;">');
print_r($today);
print_r('</div>');
}
$today = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$today = date("m.d.y");                         // 03.10.01
$today = date("j, n, Y");                       // 10, 3, 2001
$today = date("Ymd");                           // 20010310
$today = date('h-i-s, j-m-y, it is w Day');     // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');   // it is the 10th day.
$today = date("D M j G:i:s T Y");               // Sat Mar 10 17:16:18 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:18 m is month
$today = date("H:i:s");                         // 17:16:18
$today = date("Y-m-d H:i:s");                   // 2001-03-10 17:16:18 (MySQL の DATETIME フォーマット)

デフォルトのタイムゾーンを指定

タイムゾーンを指定したい場合は「date_default_timezone_set()」を使います。※PHP 5.1 以降で使用可能。

UTC

date_default_timezone_set('UTC');
$today = date("Y-m-d H:i:s");

Asia/Tokyo

date_default_timezone_set('Asia/Tokyo');
$today = date("Y-m-d H:i:s");

まとめ

このような感じで「現在時刻」を取得して表示させることができます!あとは「print_r」や「echo」を使えば、画面に表示させることができます!

ご参考下さい😃

サンプルはこちら

https://php.eguweb.net/p001/
URLをコピーしました!