2013-04-09 50 views
1

我有一個好奇的問題。問題PHP日期時間的日期屬性

以下代碼會生成錯誤。

$startDate = new DateTime(); 
// print_r($startDate); 
$i = strpos($startDate->date,' '); 
$this->startByTime = substr($startDate->date,0,$i).'T'.substr($startDate->date,$i+1).'.000Z'; 

Notice: Undefined property: DateTime::$date in C:\xampp\htdocs\hpace\buildschedule.php on line.. 

而日期屬性似乎是未定義的。作爲$this->strartByTime = 'T000Z'在這一切的結尾。

現在,如果我取消註釋print_r語句一切正常。任何人都可以向我解釋這一點。?

+0

我建議,如果它沒有在[文檔](http://www.php.net/manual/en/class.datetime.php)中列爲屬性,那麼它不是一個可訪問的屬性。 – 2013-04-09 18:58:06

+0

你在做什麼? – bestprogrammerintheworld 2013-04-09 19:00:40

+0

@best ...我實際上是第一次使用DateTime,並且正在使用print_r來查看它提供的內容。然後,當我擺脫了print_r發生錯誤。然後我對他的存在和財產感到非常好奇。我正在使用格式現在獲取日期。 – farley 2013-04-09 19:51:18

回答

2

DateTime object中沒有->date屬性,這就是爲什麼PHP會抱怨$startDate->date

也許你的意思是$startDate->format('r')或同類產品?

+2

有趣的馬克。爲什麼我想知道這是否與print_r語句shich一起顯示日期屬性。日期時間對象([日期] => 2013-04-09 21:34:09 [timezone_type] => 3 [時區] =>歐洲/柏林)print_r會做什麼會導致屬性出現。 – farley 2013-04-09 19:34:38