Asp classic 格式化日期时间字符串

Asp classic 格式化日期时间字符串,asp-classic,datepart,Asp Classic,Datepart,我在ASP Classic中格式化日期时间字段时遇到问题。 我需要的格式是yyyy-mm-dd hh:mm:ss 这是我目前的代码: changeToDate = cdate(Request.Form("datepicker")&" "&Request.Form("timepicker")) dateTime = DatePart("d", changeToDate)&"-"&DatePart("m", changeToDate)&_

我在ASP Classic中格式化日期时间字段时遇到问题。 我需要的格式是yyyy-mm-dd hh:mm:ss 这是我目前的代码:

changeToDate = cdate(Request.Form("datepicker")&" "&Request.Form("timepicker")) 

dateTime = DatePart("d", changeToDate)&"-"&DatePart("m", changeToDate)&_
           "-"&DatePart("yyyy", changeToDate)&" "&DatePart("hh", changeToDate)&":"&_
           DatePart("mi", changeToDate)&":00"
但这给了我一个无效的过程调用datepart异常。我被这件事缠住了

不确定这是否重要,但我这样做是为了能够将日期时间插入数据库。当我仅仅使用cdate函数时,我得到以下错误:从字符串转换日期和/或时间时,转换失败。 这就是我的查询在使用cdate函数时的样子,该函数名为:

INSERT INTO mytable(Client ,Campaign ,Location ,CardCode ,Created ,Message ,Rating ,Info ,mobile ,DataMessage ) VALUES (117,227,1487,'NJPNUYX','10/07/2013 9:10:00 a.m.','NJPNUYX 4 safda',4,'safda','0215833650','0223232345')

我认为您在小时和分钟DatePart调用中使用了错误的参数

根据MSDN,您需要使用以下各项:

  • 小时-小时(代替小时)
  • 分钟-n(代替mi)
更改:

DatePart("hh", changeToDate) & ":" & DatePart("mi", changeToDate)


有关更多信息,请参见

能否告诉我们引发异常的确切位置以及错误消息的内容?我怀疑这是在将日期传递到数据库的过程中发生的-如果是这种情况,请停止这样做-在参数中传递日期,作为日期,让ADO/数据库系统解决如何将VB日期转换为数据库服务器的表示形式。将日期格式化为字符串是错误的最大来源之一。@damien_不信者,是的,将其放入数据库。我确实尝试在cdate函数之后插入它,但由于它的格式错误,所以我尝试将其转换为正确的格式。正如我所说的,在这种情况下,您应该使用-通过这种方式,您可以将其作为日期而不是字符串传递。首先是您将内容强制放入字符串中导致格式问题。
DatePart("h", changeToDate) & ":" & DatePart("n", changeToDate)