我们知道mssql不像php那样可以使用time,他生成的是时间格式DateTime这样就显示不对了,代码如下:
while( $row = sqlsrv_fetch_array( $result, SQLSRV_FETCH_ASSOC))
{
print_r($row['datetime']);//这个字段是mssql的时间格式
}//开源代码Cuoxin.com
//结果是:
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.
大型站长资讯类网站!