0
我試圖在運行PHP 5.3的本地Windows機器上測試PHP 5.2.6的Solaris服務器上使用PHP DateTime類。下面是代碼:日期時間和PHP 5.2的問題
<?php
try {
$dt = new DateTime('2009-10-08');
$dt->setDate(2009,10,8);
print_r($dt);
}catch (Exception $e) {
echo $e->getMessage();
}
在測試服務器上的東西完美的工作,這是打印:
DateTime Object ([date] => 2009-10-08 00:00:00 [timezone_type] => 3 [timezone] => America/New_York)
在我需要使用它的服務器,但是,這是打印:
DateTime Object ()
刪除setDate沒有任何區別。
任何想法,爲什麼會發生這種情況?
謝謝!
編輯
修改劇本:
try {
echo '|', date_default_timezone_get(), '|';
date_default_timezone_set('America/New_York');
echo '|', date_default_timezone_get(), '|';
$dt = new DateTime('2009-10-08');
$dt->setDate(2009,10,8);
print_r($dt);
}catch (Exception $e) {
echo $e->getMessage();
}
服務器上的新的輸出:
|US/Eastern||America/New_York|DateTime Object ()
我知道缺少的方法 - 我我一直在迴避他們。 不幸的是,設置默認的時區沒有區別:( – 2010-05-24 13:39:26
只是出於好奇心,你真的測試過,類沒有工作嗎?你有沒有比較它們的實際功能?空轉儲並不一定意味着它不工作.. 。:) – 2010-05-24 13:56:52
老實說,我不確定我是否理解或知道如何去做你所描述的。 – 2010-05-24 14:04:22