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

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 − 設定する日付の曜日番号(省略可能)

戻り値

date_isodate_set()関数は、処理が成功した場合にはNULLを、失敗した場合にはFALSEを返します。

使用例

以下は、date_isodate_set()関数を使って新しい日付を設定する例です。

<?php
   $dateSrc = '2018-10-11 11:15 GMT'; 
   $dateTime = date_create($dateSrc);
   # date_isodate_set()を使って新しい日付を設定
   date_isodate_set($dateTime, 2000, 12, 12); 
   echo "New Formatted date = " . $dateTime->format("Y-m-d\TH:i:s\Z"); 
   echo "<br />"; 
   
   # オブジェクト指向スタイルのsetISODate()メソッドを使用
   $dateTime = new DateTime($dateSrc); 
   $dateTime->setISODate(1999, 10, 12); 
   echo "New Formatted date is " . $dateTime->format("Y-m-d\TH:i:s\Z");
?>

実行結果

New Formatted date = 2000-03-31T11:15:00Z
New Formatted date is 1999-03-19T11:15:00Z

このように、ISO週番号から自動的に対応する日付が算出されていることがわかります。なお、setISODate()は同じ機能を持つオブジェクト指向スタイルのメソッドです。

続いて、もう一つの簡単な例を見てみましょう。

使用例2

<?php
   $d = date_create();
   date_isodate_set($d, 2017, 9);
   echo date_format($d, "Y-m-d");
?>

実行結果

2017-02-27

この例では、現在時刻をもとに作成したDateTimeオブジェクトに対し、2017年の第9週目として日付を設定しています。その結果、「2017-02-27」という日付が出力されました。曜日番号(第4引数)を指定しない場合は、デフォルトで週の初日が適用されます。

  1. 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

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

    date_date_set() 関数は、指定された DateTime オブジェクトに対して新しい日付を設定するための PHP の組み込み関数です。この関数を呼び出すと、対象のオブジェクトの日付が指定した値に更新され、時刻情報は元のまま保持されます。 構文 date_date_set ( object, year, month, day ) パラメータ object − 日付を設定する対象となる DateTime オブジェクト year − 設定する日付の年(例:2024) month − 設定する日付の月(1〜12) day − 設定する日