今回はPHPで本日の日時と曜日を日本時間で表示するデモを行っていきたいと思います。
それではいってみましょう(^^♪
Menu
date関数
日付や時刻を日付文字列で返します。
構文
date ( 書式を指定 , timestamp = time()) string
・timestampを日付文字列で返します。
・timestampを指定しない場合は現在時刻が使用されます。
・timestampのデフォルトはtime()です。
ウィキペディア(Wikipedia)引用
タイムスタンプ(英: timestamp)とはある出来事が発生した日時・日付・時刻などを示す文字列。
この辺はサラッ~と流して次いきましょう٩(ˊωˋ*)و
日本時間に設定
まずは設定を日本の東京時間に設定します。
1 2 3 | <?php date_default_timezone_set('Asia/Tokyo'); ?> |
日付
年の書式
フォーマット | 戻り値 | 詳細 |
Y | 年(4桁数字) | 2020 |
y | 年(2桁数字) | 20 |
L | 閏年(1→閏年 0→閏年ではない) | 1 か 0 |
例)date(‘Y’) → 2020
月の書式
フォーマット | 戻り値 | 詳細 |
m | 月(数字 0付き2桁) | 01~12 |
n | 月(数字) | 1~12 |
t | 月(数字 月の最終日) | 28~31 |
F | 月(英語) | January~December |
M | 月(英語3文字) | Jan~Dec |
例)date(‘m’) → 01
日の書式
フォーマット | 戻り値 | 詳細 |
d | 日(0の付く2桁) | 01~31 |
j | 日 | 1~31 |
例)date(‘d’) → 01
時間
引数フォーマット | 戻り値 | 詳細 |
g | 12時間表示(ゼロなし) | 1~12 |
h | 12時間表示(ゼロあり) | 01~12 |
G | 24時間表示(ゼロなし) | 0~23 |
H | 24時間表示(ゼロあり) | 00~23 |
a | 午前・午後(英語小文字) | am pm |
A | 午前・午後(英語大文字) | AM PM |
i(分) | ゼロあり | 00~59 |
s(秒) | ゼロあり | 00~59 |
v(ミリ秒) | ミリ秒 | 000~999 |
例)date(“G:i:s”) → 12:30:23
例)date(“Ag時i分s秒”) → PM3時40分35秒
曜日
曜日の取得は戻り値の数字を利用しないと日本語の曜日表示ができないので少々複雑ですが曜日を配列でグループ化することによって取得が可能になります。
曜日の引数フォーマットと戻り値
引数フォーマット | 戻り値 | 詳細 |
N | 1~7 | 月(1)火(2)水(3)木(4)金(5)土(6)日(7) |
w(小文字) | 0~6 | 日(0)月(1)火(2)水(3)木(4)金(5)土(6) |
D | Mon~Sun | 英語3文字の曜日 |
l | Sunday~Saturday | 英語の曜日 |
本日の曜日を数字で取得
dateの引数をNまたはwを指定すると本日の曜日が数字で返ってきます。
引数にNを指定した場合の曜日の詳細
今回は引数にNを指定して戻り値を数字で取得してみます。
月(1)火(2)水(3)木(4)金(5)土(6)日(7)
構文
date(“N”)
例えば本日が月曜なら
【結果】→ 1
本日の曜日を自動取得
曜日を数字で取得できたので配列化してインデックス(数字)に先程のdate(“N”)の数字を利用して文字を自動取得します。
1 2 3 4 5 6 7 | <?php function funcWeek() { return array('','月','火','水','木','金','土','日');//① } //本日の曜日を取得 echo funcWeek()[date("N")].'<br>';//② ?> |
①関数を作成します。
曜日を配列でグループ化 → [月~日](インデックス番号)
②関数で取得表示させます。
インデックス番号にdate(“N”)の数字を利用して(月~日)を取得します。
例
【結果】 → 水
本日の曜日が表示されます(*^^)v
サンプルコード
それではここまでで日付から時間、曜日までの取得ができるようになったので全てを表示させるサンプルコードを記述していきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php //日本時間に設定 date_default_timezone_set('Asia/Tokyo'); //関数を作成し曜日をグループ化 function funcWeek(){ return array('日', '月', '火', '水', '木', '金', '土'); } //曜日を取得して変数化 $w = funcWeek()[date("w")]; //全て表示 echo '現在の日時<br>'; echo date("Y/m/d($w) G:i:s"); ?> |
【結果】
現在の日時
2020/11/22(日) 16:18:24
まとめ
日付や時間などは各言語でも多数用意されてますが、実際に使用する書式はだいたい決まってるので全部を覚えるのではなく、いつも使用する書式だけを覚えておけばいいのではないかと思います。
私も実際日付などの書式はすぐ忘れてしまいますので、今回の記事を作成したことで今まではネットで調べてましたが、これからは自分のブログを見て活用することができるので重宝できそうです\(^^)/
以上です。