如何从querystring将一种日期/时间格式转换为另一种



我在查询字符串中得到"August 222015 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"进行测试,那么它可以工作。

要拼写出来:

>> s = "August 22, 2015 10:55"
>> d = CDate(s)
>> WScript.Echo TypeName(d), d
>>
Date 22.08.2015 10:55:00 <-- german locale!

添加:

要获得所需的格式,可以使用此处描述的策略。

DateVar = datevalue("August 22, 2015 10:55")
NewDateVar = year(DateVar) & "-" & month(DateVar) & "-" & day(DateVar) & "-" & time(DateVar)

无论遇到困难,经典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

相关内容

  • 没有找到相关文章

最新更新