PHPのdate_sub()関数を使用し日付から日、月、年、時間、分、秒を減算してみます。
date_sub()関数は、日付から日、月、年、時間、分、秒を減算(引き算)することができます。
■基本的な構文
date_sub(object, interval)
objectは、date_create()関数を使用することで返されるDateTimeオブジェクトを指定します。
intervalは、DateIntervalオブジェクト(日付の間隔)を指定します。
■環境
・Windows10
・XAMPP 8.0.6
・PHP Version 8.0.6
■date_sub()関数を使用し日付から日、月、年、時間、分、秒を減算する
では、PHPのdate_sub()関数を使用し日付から日、月、年、時間、分、秒を減算するスクリプトを書いていきます。
■コード
<html lang="ja">
<head>
<title>date_sub()関数を使用し日付から日、月、年、時間、分、秒を減算する</title>
</head>
<body>
<?php
$test=date_create("2021-09-01");
date_sub($test,date_interval_create_from_date_string("15 days"));
echo date_format($test,"Y-m-d");
?>
</body>
</html>
日付から日、月、年、時間、分、秒を減算するために、今回はtestという変数を定義します。定義した変数内でdate_create()関数を使用し、DateTimeオブジェクトを作成します。作成する際に関数の括弧内に引数,パラメータとして、今回「日付」を指定します。これでDateTimeオブジェクトが返され、test変数に格納されます。
格納後、date_sub()関数を使用します。関数の括弧内に第1の引数,パラメータとして、test変数を渡します。第2の引数,パラメータとして、date_interval_create_from_date_string()関数を使用します。この関数の括弧内には、引数,パラメータとして今回は「日(間隔)」を指定します。date_interval_create_from_date_string()関数は、DateInterval(日付の間隔)を設定することができます。
これで、test変数内のDateTimeオブジェクトに、date_interval_create_from_date_string()関数で指定した日の間隔の追加されます。この間隔が日付から減算(引き算)されたものになります。
追加後、date_format()関数を使用し、関数の括弧内に第1の引数,パラメータとして、test変数を渡します。第2の引数,パラメータとして、 日付のフォーマットを渡します。今回は「Y-m-d」という形式を指定します。これで、指定されたフォーマットに基づいてフォーマットされた日付が返されます。返された日付をecho文で出力します。
■実行
では、このスクリプトを「subtract_time_from_dates.php」という名前で保存し、実行させてみます。
実行させてみると、date_sub()関数を使用したことで、test変数内のDateTimeオブジェクト(日付)から、指定した日の間隔が減算(引き算)され、減算(引き算)されたDateTimeオブジェクトが返さ、返されたDateTimeオブジェクトをdate_format()関数とecho文を使用し、出力させることができました。
コメント