web関連
【PHP】年度末の日時をmktime()を使って取得するときの注意
mktime()を使って年末の日時を取得する時の注意事項
mktime関数を使った年末の日時取得方法
// mktime(時間、分、秒、月、日、年)
$timestamp = mktime(0,0,0,1,0,date('Y',strtotime("+1 year")));
$lastday = date('Y年m月d日H時i分',$timestamp);
echo $lastday;// 2020年12月31日00時00分
これで年度末の日時を取得できる
ただ、date('Y',strtotime("+1 year"))
で来年の「年」を取得しているんだけどmktime()
で年度を取得しようとするなら「2021年1月0日(=2020年12月31日)」を指定する必要があるみたい
年始の取得方法は「2021年1月1日」と指定すれば取得できる
// mktime(時間、分、秒、月、日、年)
$timestamp = mktime(0,0,0,1,1,date('Y'));
$firstday = date('Y年m月d日H時i分',$timestamp);
echo $firstday;// 2020年01月01日00時00分
余談だけどmktime()
関数の引数の最後にサマータイムを指定できるんだけどPHP7系から削除されたみたい
// mktime(時間、分、秒、月、日、年、サマータイム(PHP7系から削除))
mktime(int hour, int minute, int second, int month, int day, int year, int is_dst)
Link:PHP: mktime - Manual