请问,用JavaScript,如何将字符串转换成日期,写入Access数据库,谢谢!

lsm0001 2002-05-06 04:03:03
代码如下
<%
......
var MyDate=new Date;
rsSupport.Fields.Item("DateTime").value= "#"+String(MyDate)+"#";//该句出错
......
rsSupport.Update();
%>

*句提示数据类型不匹配。
字段DateTime是Access的日期/时间型

我看见论坛已经有不少VBscript的解决办法,请问用JavaScript如何解决?谢谢!
...全文
172 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ehom 2002-05-07
  • 打赏
  • 举报
回复
rsSupport.Fields("DateTime").value=MyDate.getYear()+"-"+(MyDate.getMonth()+1)+"-"+MyDate.getDate();
mmkk 2002-05-07
  • 打赏
  • 举报
回复
<script language="javascript" runat="server">
var nowtime = new Date().toLocaleString()
response.write(nowtime)
</script>
<%
response.write nowtime
%>
这样应该看明白了吧,默认解释脚本是vbs.还有update的时候不需要#号,只有检索的时候才要
sunbeamy 2002-05-06
  • 打赏
  • 举报
回复
#是必须要加的,怎么会还不行?奇怪中,你调下,看看输出
"#"+formatDate(MyDate)+"#"是什么东东
weidegong 2002-05-06
  • 打赏
  • 举报
回复
哦?到底哪种格式才正确?或者,不需要加#号?
<%
function formatDate(dDate){
return dDate.getYear()+"-"+dDate.getMonth()+"-"+dDate.getDay()
}
var MyDate=new Date;
rsSupport.Fields.Item("DateTime").value= "#"+formatDate(MyDate)+"#";
%>

lsm0001 2002-05-06
  • 打赏
  • 举报
回复
谢谢!
该代码运行于asp服务器端,取的是服务器时间,好像asp下JavaScript并不支持now()函数与cdate对象。
由于程序原因,这时候我不想使用sql语言调用access的内部now()函数。

以上的程序均出现以下错误;

错误类型:
Provider (0x80020005)
类型不匹配。
/ly/support_manage.asp, 第 92 行

浏览器类型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705)
*句提示数据类型不匹配。
字段DateTime是Access的日期/时间型

谢谢!
sunbeamy 2002-05-06
  • 打赏
  • 举报
回复
to weidegong(weidegong)
你写了<script>误导了我,这样子还有些道理,把你的函数改下吧;)
toLocaleString()方法的长日期格式也可能导致错误
<%
function formatDate(dDate){
return dDate.getYear()+"-"+dDate.getMonth()+"-"+dDate.getDay()
+" "+dDate.getHours()+":"+dDate.getMinutes()+":"+dDate.getSeconds()
}
var MyDate=new Date;
rsSupport.Fields.Item("DateTime").value= "#"+formatDate(MyDate)+"#";
%>
8988 2002-05-06
  • 打赏
  • 举报
回复
如果人是取服务器日期,就在ASP中用 d=now()就可以了。
8988 2002-05-06
  • 打赏
  • 举报
回复
既然要写出Access数据库,可以用javascript先在客户端转换成日期格式,也可以在服务器端用ASP转换
但在服务端接收到的日期值,仍然是字串类型的日期,还需在ASP下转换日期类型的日期,所以还是在用ASP转换为好。
如:
<%
d="2002-3-4" '这里可以用d=Request.Form("DATE")获得表单的日期串,如果格式不同,可以处理一下,变成"yyyy-mm-dd"的格式
d=cdate(d) '这里将字符串转换成日期类型
'以下将d值保存在数据库中
%>


weidegong 2002-05-06
  • 打赏
  • 举报
回复
To: sunbeamy(阳光灿烂的深夜)
谁说这是客户端时间?这是Javascript写的ASP(+)程序吧?
sunbeamy 2002-05-06
  • 打赏
  • 举报
回复
为什么要取客户端当前时间?客户端时间不一定准确,存起来有什么意义?
weidegong 2002-05-06
  • 打赏
  • 举报
回复
上述两种格式都是可以的
weidegong 2002-05-06
  • 打赏
  • 举报
回复
<script>
var MyDate=new Date;

document.write("<p>"+MyDate.toLocaleString())


var s = (MyDate.getMonth() + 1) + "/"; // 获取月份。
s += MyDate.getDate() + "/"; // 获取日。
s += MyDate.getYear();
document.write("<p>"+s);
</script>

87,994

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧