我在查询字符串中收到“2015年8月22日10:55”,我想将其转换为“2015-08-22 10:55”。
到目前为止,我有这个:
datum=request.querystring("tid")
response.write datum ----this writes out August 22, 2015 10:55
datum=Cstr(datum)
DateVar = datevalue(datum)
NewDateVar = year(DateVar) & "-" & month(DateVar) & "-" & day(DateVar)
NewTimeVar=timevalue(datum)
newdatum = NewDateVar & " " & NewTimeVar
但现在我在DateVar = datevalue(datum)
上遇到了类型错配错误。
如果我使用datum="August 22, 2015 10:55"
进行测试,则可行。
答案 0 :(得分:1)
拼写出来:
>> s = "August 22, 2015 10:55"
>> d = CDate(s)
>> WScript.Echo TypeName(d), d
>>
Date 22.08.2015 10:55:00 <-- german locale!
添加了:
要获得所需的格式,您可以使用here所述的策略。
答案 1 :(得分:0)
DateVar = datevalue("August 22, 2015 10:55")
NewDateVar = year(DateVar) & "-" & month(DateVar) & "-" & day(DateVar) & "-" & time(DateVar)
答案 2 :(得分:0)
经典ASP倾向于使用美国日期格式,地狱或高水。但是,以您希望的任何方式格式化显示(或传递到数据库)的日期都很容易。
以下内容将使用0填充任何一位数值。如果您不需要,则只使用普通函数,而不使用Right()
。
Dim datum, mm, dd, yyyy, hh, nn, fdatum
datum = Request.Querystring("tid")
If IsDate(datum) Then
datum = CDate(datum)
mm = Right(100 + Month(datum),2)
dd = Right(100 + Day(datum),2)
yyyy = Year(datum)
hh = Right(100 + Hour(datum),2)
nn = Right(100 + Minute(datum),2)
fdatum = yyyy & "-" & mm & "-" & dd & " " & hh & ":" & nn
Else
fdatum = datum '- or whatever fallback value you want
End If