如何在经典ASP中转换日期字符串

时间:2020-03-06 14:20:51  来源:igfitidea点击:

我现在有点傻瓜

我有一个欧洲格式dd.mm.yyyy的日期字符串,需要使用经典ASP将其转换为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")

我在所有应用程序中都有自己的日期操纵函数,但它最初是基于以下示例:

http://www.adopenstatic.com/resources/code/formatdate.asp

这是一种使用内置的健全性检查日期的方法:

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, "..")
Else
    ' A date of for instance 32 December would end up here
    NewString = "Invalid date"
End If