タイムスタンプ形式で日付を取得する

広告

日付オブジェクトから「thisMonth」メソッドや「thisDay」メソッドを実行する時に引数として「timestamp」を指定すると、日付要素を取得するかわりにタイムスタンプ形式の値を取得することができます。

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

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

$timestamp = $day -> thisDay("timestamp");

上記では「thisDay」メソッドを使いましたが「thisMonth」や「thisYear」を使うこともできます。ただし「thisMonth」メソッドを使う場合は月以下の日付が設定されていても無視されますし「thisYear」を使う場合には年以下の設定がされていても無視されます。

例えばCalendar_Dayクラスのオブジェクトに対して各メソッドを実行した結果は次のようになります。

Calendar_Day(2007, 6, 8) に対して

thisDay("timestamp") の場合 2007年6月8日0時0分0秒に対するタイムスタンプ
thisMonth("timestamp") の場合 2007年6月1日0時0分0秒に対するタイムスタンプ
thisYear("timestamp") の場合 2007年1月1日0時0分0秒に対するタイムスタンプ

一番精密な情報な必要な場合は「Calendar_Second」クラスのオブジェクトに対して「thisSecond("timestamp")」メソッドを実行することで秒まで含めたタイムスタンプを取得できます。

サンプルプログラム

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

sample6-1.php

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

<p>タイムスタンプ形式で取得</p>

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

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

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

print("<p>thisYear:".$day -> thisYear("timestamp")."</p>");
print("<p>thisMonth:".$day -> thisMonth("timestamp")."</p>");
print("<p>thisDay:".$day -> thisDay("timestamp")."</p>");

?>
</body>
</html>

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

タイムスタンプ形式で取得

( Written by Tatsuo Ikura )