Question

I'm a little blockheaded right now…

I have a date string in european format dd.mm.yyyy and need to transform it to mm.dd.yyyy with classic ASP. Any quick ideas?

Was it helpful?

Solution

If its always in that format you could use split

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

this would allow for dates like 1.2.99 as well

OTHER TIPS

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")

OK, I just found a solution myself:

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

This is a way to do it with built in sanity check for dates:

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

I have my own date manipulation functions which I use in all my apps, but it was originally based on this sample:

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top