PHP7.4.1におけるdate関数について。
date_default_timezone_set('Asia/Tokyo');
echo date("Y年m月d日のAh時i分s秒です。\n", time()); //0000年00月00日のAM00時00分00秒です。
echo date('y年n月j日のag時i分s秒です。' . "\n"); //00年0月0日のAM0時00分00秒です。
echo date("m月はt日まであります。\n"); //00月は00日まであります。
echo date("Y年のm月d日はl曜日(D)です。\n"); //0000年の00月00日の〇〇〇曜日(〇〇)です。
echo date("m月d日は1月1日からz日後の日です。"); //00月00日は1月1日から000日後の日です。
date関数では2つの引数に指定した値に対応した年月日と時間と曜日を取得することができます。
date関数の定形は下記のようになっています。
date('第1引数format(str型)', '第2引数timestamp(int型)')
date関数では、第1引数の値はすべてシングルまたはダブルのクオーテーション記号で囲ってやる必要があります。
第2引数に指定できる値はint型限定なので、mktime関数やstrtotime関数を使わない場合は第2引数の値をクオーテーション記号で囲ってはいけません。
第1引数の位置に以下の値を入れると、その値に対応した年月日と時間と曜日を取得できます。
Y 4桁表記の年
y 下2桁表記の年
m 2桁表記の月
n 頭に0なしの月
d 2桁表記の日
j 頭に0なしの日
D 3文字の曜日
l フルスペルの曜日
M 3文字の月
F フルスペルの月
H 24時間単位の時間
h 12時間単位の時間
G 頭に0なしの24時間単位の時間
g 頭に0なしの12時間単位の時間
i 分
s 秒
A AMまたはPM
a amまたはpm
t 指定した月の日数
w 曜日番号(0:日曜 → 6:土曜)
N 曜日番号(1:月曜 → 7:日曜)
z 年間の通算日(0 ~ 365)
L 閏年か否かの判断(閏年:1 ・ それ以外:0)
. 文字列連結
\n 改行
date関数の第2引数にはtimestampが入ります。
第2引数のデフォルト値は time() で、これは現在の年月日と時刻を取得することを意味しています。
time()で取得する年月日と時刻の値は自分がいま現在使用しているPHPに設定されているtimezoneの値に依存しています。
このtimezoneの値を変更するには、いま使っているバージョンのphp.iniのtimezoneの値を書き換えるか、phpファイルに直接記述する必要があります。
たとえばtimezoneを東京時間に合わせる場合は、以下のコードをdate関数の前に記述してやります。
date_default_timezone_set('Asia/Tokyo');
ちなみに、date関数の返り値はすべてstr型です。
また、もしdate関数の第2引数に半角数字以外の値が指定された場合は、返り値はすべてfalseとなります。
以上です。