将mssql datetime对象转换为PHP字符串

前端之家收集整理的这篇文章主要介绍了将mssql datetime对象转换为PHP字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我从数据库抓取一些信息,并且记录是MSsql DateTime格式,当我返回它,它显示在我的数组如下:
[arrayItem] => DateTime Object
    (
        [date] => 2008-06-05 09:14:11
        [timezone_type] => 3
        [timezone] => Europe/London
    )

当我尝试提取这个数组(即$array [arrayItem] [date])我得到一个错误

Fatal error: Cannot use object of type DateTime as array

我也在sql中将数据格式化到PHP之前,并且strtotime函数并没有快乐.

任何建议将是非常欢迎,我正在撕裂我的头发与这一个!

谢谢

这也引起了我的关注.

希望这将帮助你,因为它有我自己:)

http://af-design.com/blog/2010/03/13/microsoft-sql-server-driver-for-php-returns-datetime-object/

以下是该页面所说的要点,以防链接断开.

When querying against a column defined as a datetime,the 07001 returns a string where as the 07002 returns a DateTime object. So if you are expecting a string,you’ll need to adjust your code accordingly.

它继续解释,您可以简单地向数据库的请求添加一个附加参数,指定您希望将日期作为字符串返回.只需添加ReturnDatesAsStrings参数即可.

例:

$connectionParams = array(
    'USR'=>'user','PASS'=>'pass','Database'='myDatabase','ReturnDatesAsStrings'=>true  //<-- This is the important line
);
$conn = sqlsrv_connect('127.0.0.1',$connectionParams);

然后,您可以像您常规的sqlsrv数据库连接一样使用$conn,只有日期将返回为字符串,而不是DateTime对象.

或者,如果你想要的是datetime中的时间戳,你可以调用

$myDateTimeObject->getTimestamp();

猜你在找的PHP相关文章