首页 > 解决方案 > PHP:在 5.2.5 中需要 json_encode() 5.4 功能

问题描述

长话短说,客户端的主机使用 php 5.2.5,当在 mssql 连接中指定 ReturnDatesAsStrings 选项时,我迫切需要使用 jsonSerialize 接口将 json_encode() 日期时间格式更改为 dd/mm/yyyy hh:mm:ss。该界面带有5.4。有没有人知道为此目的的一些等价物?请注意,我不能在特定字段上使用 date_format,因为数据集在运行时会发生变化,而且我不知道会有多少个 datetime 字段。请指出来。

标签: phpdatetime

解决方案


好吧,我自己找到了一个解决方法,它非常难看,但它现在基本上可以工作,我在调用 json_encode 之前找到并覆盖关联数组中的任何日期时间

    foreach( sqlsrv_field_metadata( $sth ) as $metaData ) {
      $type = $metaData["Type"];
      $name = $metaData["Name"] ;
      if ($type == 93) {
         $strdate =  strtotime($rows[0][$name]);
         $date = date("d/m/Y H:i:s.u", $strdate);
         $rows[0][$name]=$date;
      }
    }         

推荐阅读