Do You PHP はてブロ

Do You PHPはてなからはてブロに移動しました

PEAR::Dateのサマータイム


ついでに、サマータイムの例です。ちゃんと考慮された結果が返ってきますね。

<?php
error_reporting(E_ALL);
require_once 'Date.php';
require_once 'Date/TimeZone.php';

/**
 * 現在時刻(JST)
 */
$now1 = new Date(time() - 60 * 60 * 24 * 30 * 3);
$now2 = new Date();
var_dump($now1->getDate());
var_dump($now2->getDate());

/**
 * タイムゾーンを'Canada/Pacific'に変更
 */
$now1->convertTZbyID('Canada/Pacific');
var_dump($now1->inDaylightTime() ? 'in Daylight Time' : 'not in Daylight Time');
var_dump($now1->getDate());

$now2->convertTZbyID('Canada/Pacific');
var_dump($now2->inDaylightTime() ? 'in Daylight Time' : 'not in Daylight Time');
var_dump($now2->getDate());

/**
 * 実行結果は以下のようになります。
 * 
 * '2006-08-24 16:27:07' (length=19)
 * '2006-11-22 16:27:07' (length=19)
 * 'in Daylight Time' (length=16)
 * '2006-08-24 00:27:07' (length=19)
 * 'not in Daylight Time' (length=20)
 * '2006-11-21 23:27:07' (length=19)
 */