Asp classic 如何在经典asp中转换日期字符串

Asp classic 如何在经典asp中转换日期字符串,asp-classic,Asp Classic,我现在有点头晕目眩 我有一个欧洲格式的日期字符串dd.mm.yyyy,需要使用经典ASP.NET将其转换为mm.dd.yyyy。有什么快速的想法吗?好的,我自己刚刚找到了一个解决方案: payment_date = MID(payment_date,4,3) & LEFT(payment_date,3) & MID(payment_date,7) 如果总是这种格式,你可以使用split d = split(".","dd.mm.yyyy") s = d(1) & "."

我现在有点头晕目眩


我有一个欧洲格式的日期字符串dd.mm.yyyy,需要使用经典ASP.NET将其转换为mm.dd.yyyy。有什么快速的想法吗?

好的,我自己刚刚找到了一个解决方案:

payment_date = MID(payment_date,4,3) & LEFT(payment_date,3) & MID(payment_date,7)

如果总是这种格式,你可以使用split

d = split(".","dd.mm.yyyy")
s = d(1) & "." & d(0) & "." & d(2)

这将允许1.2.99之类的日期

我有自己的日期操纵功能,我在所有应用程序中都使用这些功能,但它最初基于以下示例:

Dim arrParts() As String
Dim theDate As Date

arrParts = Split(strOldFormat, ".")
theDate = DateTime.DateSerial(parts(2), parts(1), parts(0))

strNewFormat = Format(theDate, "mm.dd.yyyy")

这是一种通过内置日期健全性检查来实现的方法:

Dim OldString, NewString

OldString = "31.12.2008"

Dim myRegExp
Set myRegExp = New RegExp
myRegExp.Global = True
myRegExp.Pattern = "(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.]((19|20)[0-9]{2})"

If myRegExp.Test Then
    NewString = myRegExp.Replace(OldString, "$2.$1.$3")
Else
    ' A date of for instance 32 December would end up here
    NewString = "Invalid date"
End If

show:20200623102805

必须以这种方式调用split:split(“dd.mm.yyyy”,”)要小心。
function MyDateFormat(mydate)
    'format: YYYYMMDDHHMMSS
    MyDateFormat = year(mydate) & right("0" & month(mydate),2) & _
        right("0" & day(mydate),2) & right("0" & hour(mydate),2) &_
        right("0" & minute(mydate),2) & right("0" & second(mydate),2)
end function

response.write(MyDateFormat(Now))