PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのdate_date_set()関数の使い方を徹底解説

date_date_set() 関数は、指定された DateTime オブジェクトに対して新しい日付を設定するための PHP の組み込み関数です。この関数を呼び出すと、対象のオブジェクトの日付が指定した値に更新され、時刻情報は元のまま保持されます。

構文

date_date_set ( object, year, month, day )

パラメータ

  • object − 日付を設定する対象となる DateTime オブジェクト

  • year − 設定する日付の年(例:2024)

  • month − 設定する日付の月(1〜12)

  • day − 設定する日付の日(1〜31)

戻り値

date_date_set() 関数は、処理が成功した場合に NULL を返し、失敗した場合には FALSE を返します。なお、PHP 5.3.0 以降では DateTime オブジェクトそのものが返されるため、メソッドチェーンにも対応しています。

使用例

以下に、date_date_set() 関数と、同じ役割を持つ setDate() メソッドを使用したサンプルコードを示します。

<?php
   $dateSrc = '2017-11-25 11:25 GMT'; 
   $dateTime = date_create($dateSrc);

   // date_date_set() を使って新しい日付を設定
   date_date_set($dateTime, 2000, 12, 12); 
   echo "New Formatted date is " . $dateTime->format("Y-m-d\TH:i:s\Z"); 
   echo "<br />"; 

   // setDate() メソッドを使った別の方法
   $dateTime = new DateTime($dateSrc); 
   $dateTime->setDate(1999, 10, 12); 
   echo "New Formatted date is " . $dateTime->format("Y-m-d\TH:i:s\Z");
?>

実行結果

New Formatted date is 2000-12-12T11:25:00Z
New Formatted date is 1999-10-12T11:25:00Z

解説

上記の例からわかるように、date_date_set() 関数や setDate() メソッドで日付を変更しても、時刻部分(11:25:00)は元の DateTime オブジェクトから引き継がれます。つまり、この関数は「日付のみ」を変更したい場合に便利です。時刻ごと変更したい場合は、date_time_set() 関数を併用するとよいでしょう。

  1. 【PHP入門】date()関数の使い方を徹底解説!日付・時刻の書式指定子一覧と実行例

    PHPの date() 関数は、ローカルの日付や時刻を任意の形式に整形(フォーマット)するための関数です。整数型のUnixタイムスタンプを引数として渡すと、その時刻をもとに整形された文字列が返されます。タイムスタンプを省略した場合は、現在の時刻が自動的に使用されます。 基本構文 date(format, timestamp) パラメータ timestamp − 整数型のUnixタイムスタンプ。省略した場合は、現在のローカル時刻がデフォルトで使用されます。 format − 結果の出力形式を指定する書式文字列。主な指定文字は以下のとおりです。 日に関する書式指定子 d − 日(01〜31)。

  2. PHPのdate_isodate_set()関数とは?使い方とサンプルコードを徹底解説

    date_isodate_set()関数は、PHPでISO形式(ISO-8601)に基づいた日付をDateTimeオブジェクトに設定するための関数です。年・週・日の情報を指定することで、該当する日付を計算してセットします。処理が成功した場合はNULLを返し、失敗した場合はFALSEを返します。 構文 date_isodate_set(object, year, week, day) パラメータ object − 日付を設定対象とするDateTimeオブジェクト year − 設定する日付の年 week − 設定する日付の週 day − 設定する日付の曜日番号(省略可能) 戻り値 dat