日付要素の前後の値を取得する

広告

現在作成されている日付オブジェクトから前日の日付を取得したり次の月を取得することができます。各クラスの親クラスであるCalendarクラスで色々なメソッドが用意されています。

「prevYear」メソッドはオブジェクトから現在設定されている年の前年を取得します。

引数:
  $format  (省略可能) int、timestamp、array、objectのいずれか
戻り値:
  年を表す数値

「nextYear」メソッドはオブジェクトから現在設定されている年の翌年を取得します。

引数:
  $format  (省略可能) int、timestamp、array、objectのいずれか
戻り値:
  年を表す数値

以下省略しますが同じように月や時に関して前の値を取得したり次の値を取得したりできます。用意されているメソッド一覧は次の通りです。

メソッド取得できる値
prevYear前年
nextYear翌年
prevMonth前月
nextMonth翌月
prevDay前日
nextDay翌日
prevHour前の時
nextHour次の時
prevMinute前の分
nextMinute次の分
prevSecond前の秒
nextSecond次の秒

これらのメソッドは「Calendar_Year」クラス「Calendar_Month」クラス「Calendar_Day」クラス「Calendar_Hour」クラス「Calendar_Minute」クラス「Calendar_Second」クラスで利用することが出来ます。

例えば次のように記述します。

$day = new Calendar_Day(2007, 6, 8);

$thisMonth = $day -> thisMonth();
$prevMonth = $day -> prevMonth();
$nextMonth = $day -> nextMonth();

これらのメソッドは月や日など個々の日付要素の前後の値だけを取得できます。例えば6月30日の次の日を求めた場合には1日が取得できますけど7月になっているかどうかまでは分かりません。

サンプルプログラム

では簡単なサンプルで実際に試してみます。

sample5-1.php

<html>
<head><title>PHP TEST</title></head>
<body>

<p>前後の日付要素の取得</p>

<?php
require_once("Calendar/Day.php");

$day = new Calendar_Day(2007, 6, 30);

print("<p>本日の日付:");
print($day -> thisYear()."/");
print($day -> thisMonth()."/");
print($day -> thisDay());
print("</p>");

print("<p>今日:".$day -> thisDay()."日</p>");
print("<p>前日:".$day -> prevDay()."日</p>");
print("<p>次日:".$day -> nextDay()."日</p>");

?>
</body>
</html>

上記をWWWサーバに設置しブラウザで見てみると下記のように表示されます。

前後の日付要素の取得

( Written by Tatsuo Ikura )