PHPのdate_modify()関数を使用しDateTimeオブジェクト(タイムスタンプ)を変更してみます。
date_modify()関数は、DateTimeオブジェクトの日付を変更することができます。指定されたDateTimeオブジェクトのタイムスタンプを変更することで、日付が変更できます。
■基本的な構文
date_modify(object, modify)
objectは、date_create()関数が返すDateTimeオブジェクトを指定します。
modifyは、日付を変更するために、日付/時刻の文字列を指定します。
■環境
・Windows10
・XAMPP 8.0.6
・PHP Version 8.0.6
■date_modify()関数を使用しDateTimeオブジェクトを変更する
では、PHPのdate_modify()関数を使用しDateTimeオブジェクト(タイムスタンプ)を変更するスクリプトを書いていきます。
■コード
<html lang="ja">
<head>
<title>date_modify()関数を使用しDateTimeオブジェクトを変更する</title>
</head>
<body>
<?php
$test = date_create("2021-09-01");
date_modify($test,"+10 days");
echo date_format($test,"Y-m-d");
?>
</body>
</html>
DateTimeオブジェクトを変更する際は、今回はtestという変数を定義します。定義した変数内でdate_create()関数を使用します。関数の括弧内に引数,パラメータとして、日付の文字列を渡します。これでtest変数内にDateTimeオブジェクトが格納されました。
格納後、date_modify()関数を使用します。関数の括弧には第1の引数,パラメータとして、test変数を渡します。第2の引数,パラメータとして、変更する日数の文字列を渡します。これでDateTimeオブジェクト(タイムスタンプ)が変更され、変更する日数がtest変数内に格納されました。
最後に、date_format()関数を使用します。関数の括弧内には、第1の引数,パラメータとして、test変数を渡します。第2の引数,パラメータとして、形式(フォーマット)を渡します。今回は「Y-m-d」の形式を渡します。これで指定された形式で、test変数内のDateTimeオブジェクトがフォーマットされます。フォーマットされた日付をecho文で出力します。
■実行
では、このスクリプトを「change_datetimeobject.php」という名前で保存し、実行させてみます。
実行させてみると、date_modify()関数を使用したことで、test変数内に格納されたDateTimeオブジェクトが変更され、変更後、date_format()関数を使用し、DateTimeオブジェクトを指定されたフォーマット(形式)に整え、echo文で出力させることができました。
コメント