服务器端日期被自动转换问题(解决马上给分)
服务器端代码如下,假设conn已定义
<%
printDate()
%>
<script language= "javascript " runat= "server ">
function printDate(arr){
var sql= "select date from T "
var rs =server.createObject( "adodb.recordset ")
rs.open (sql,conn,1,3)
var str=rs(0)
response.Write( "[ ' "+str+ " '] ")
}
本来date字段在数据库中存储格式为2007-8-22
当输出却为[ 'Wed Aug 22 00:00:00 UTC+0800 2007 ']
如果是直接 response.Write(str)则输出为2007-8-22
请问谁碰到过这样的问题,有什么解决办法没有
------解决方案--------------------这个问题我也碰到过,解决办法2种
1:在客户端用正则把字符串还原成你要的格式,比较麻烦,且效率较低
2:在 <%%> 中response.write出你的字串,如下
<%
function printDate(sql)
dim rs,str,sql
sql= "select date from T "
set rs =server.createObject( "adodb.recordset ")
rs.open sql,conn,1,3
str=rs(0)
response.Write( "[ ' "&str& " '] ")
end function
%>
然后在你的js中调用这个函数即可
------解决方案--------------------用服务器端语言或者数据库SQL直接格式化后输出,用客户端JS也可以
------解决方案--------------------sql server 滴 T-SQL 在 convert 为 datetime 时,
加上第三个参数 120 就是 lz 要滴格式了!