PHP 5.3从assoc数组中回显日期对象?

时间:2011-01-20 20:13:12

标签: php date associative-array

我希望在数据库查询之后回显日期列的结果,但是如果我在尝试回显变量之前在$数组上调用var_dump,则字符串将仅回显到屏幕。

如果我取消注释“// var_dump($ assocArray [0] [”date“]);”那么我可以回应日期,否则什么都不会回应......这里发生了什么?

 $link = sqlsrv_connect("localhost", array("UID" => 'myuser', "PWD" => 'mypass', "Database"=>'mydb'));

 $result = sqlsrv_query($link, "select date from mytable where id=1");

 $i=0;
 while($row=sqlsrv_fetch_array($result,SQLSRV_FETCH_ASSOC))
 {
  $assocArray[$i] = $row;
  $i++;
 }

 sqlsrv_free_stmt($result);

 sqlsrv_close($link);


 echo "\n Dump AssocArray: \n";
 echo "====================\n";
 //var_dump($assocArray[0]["date"]);

 echo "\n\n Echo Date: \n";
 echo "====================\n";
 echo $assocArray[0]["date"]->date; //doesnt print

 echo "\n\n Dump Date: \n";
 echo "====================\n";
 var_dump($assocArray[0]["date"]);




       /* result of Dump Date:

      object(DateTime)#1 (3) {
   ["date"]=>
   string(19) "2011-01-20 04:00:00"
   ["timezone_type"]=>
   int(3)
   ["timezone"]=>
   string(28) "America/Indiana/Indianapolis"
 }

       */

2 个答案:

答案 0 :(得分:2)

似乎$assocArray[0]["date"]DateTime对象。

要获取日期,您需要使用format()

$date = $assocArray[0]["date"]->format('Y-m-d H:i:s');

答案 1 :(得分:0)

$ date = $ assocArray [" date"] - > format(' Y-m-d H:i:s'); 这个对我来说很完美