我們知道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