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)

Leave a Comment

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。