PHPで特定の日付から日数を進めた時間を表示する
PHPで指定した時間から日数を進めた時間(なんて言うのかわかりづらいですが)を取得して表示したいってことがありました。ひと月が30日だったり31日だったりするのでめんどくさいんだろうなーと思って調べたところ、意外と簡単でしたので自分用の備忘録を兼ねてご紹介させていただきます。
PHPで特定の日付から日数を進めた時間を表示する
特定の日付をわかりやすくするため「2000年1月1日」としています。
<?php
// 年・月・日の指定
$year = '2000';
$month = '01';
$day = '01';
//指定の日付から時間を進める
$time = '+1day';
//進めた時間の表示
echo date('Y-m-d',strtotime($time,strtotime($year . '-' . $month . '-' . $day)));
?>
この結果表示されるのは、こちらになります。
2000-01-02
簡単な解説
カンタンにですが解説をします。
進めたい時間を変数「$time」に書きます。今回は1日後を表示したかったので「+1day」としています。1日前にしたい場合は「-1day」としてください。
<?php
// 年・月・日の指定
$year = '2000';
$month = '01';
$day = '01';
//指定の日付から時間を進める
$time = '+1day';
//進めた時間の表示
echo date('Y-m-d',strtotime($time,strtotime($year . '-' . $month . '-' . $day)));
?>
この12行目で指定した日付「strtotime()」に入れています。(年月日は変数で指定しています)
<?php
// 年・月・日の指定
$year = '2000';
$month = '01';
$day = '01';
//指定の日付から時間を進める
$time = '+1day';
//進めた時間の表示
echo date('Y-m-d',strtotime($time,strtotime($year . '-' . $month . '-' . $day)));
?>
現在の年月日から特定の日時進めたい場合
指定した日付ではなく、今現在の年月日から特定の日時進めたい場合はこのように書きます。
7行目で「date()」を使って現在の時刻を指定しています。
<?php
//指定の日付から時間を進める
$time = '+1day';
//進めた時間の表示
echo date('Y-m-d',strtotime($time,strtotime(date('Y-m-d'))));
?>
こんな感じで書くことで現在の年月日から1日後、つまり明日を取得できます。未来を取得するってなんかかっこいいですね(笑)
ちなみに表示されるのはこちらです。
2018-09-25
ね、カンタンだったでしょ?
コピペすることで簡単に使うことができるので、必要な時にお使いください。
コメントはこちらから