我们知道mssql不像php那样可以使用time,他生成的是时间格式DateTime这样就显示不对了,代码如下:
while( $row = sqlsrv_fetch_array( $result, SQLSRV_FETCH_ASSOC)) { print_r($row['datetime']);//这个字段是mssql的时间格式 }
//结果是:
DateTime Object ( [date] => 2011-10-20 00:00:00 [timezone_type] => 3 [timezone] => Asia/Chongqing )
解决办法:
第一个方法:php文档开头定义ini_set("mssql.datetimeconvert",0);
第二个方法:修改php.ini,找到;mssql.datetimeconvert = On,去掉前面的分号,修改on为off.
第三个方法:只有把mssql的时间字段用convert函数转换成字符串。
比如 SELECT *,convert(char,datetime字段,120) as str_datetime FROM 表名
这个str_datetime就是字符串了,第三个参数为120,刚好是我们需要的格式 yyyy-mm-dd hh:ii:ss.
本文地址:
转载随意,但请附上文章地址:-)