加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 16:25:34 所属栏目:PHP教程 来源:网络整理
导读:我从数据库抓取一些信息,并且记录是MSSQL DateTime格式,当我返回它,它显示在我的数组如下: [arrayItem] = DateTime Object ( [date] = 2008-06-05 09:14:11 [timezone_type] = 3 [timezone] = Europe/London ) 当我尝试提取这个数组(即$array [arrayItem] [
我从数据库抓取一些信息,并且记录是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();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读