Tuesday, February 8, 2011

How to transform a date-string in classic asp

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?

Thanks in advance!

  • OK, I just found a solution myself:

    payment_date = MID(payment_date,4,3) & LEFT(payment_date,3) & MID(payment_date,7)
    
    From Anheledir
  • 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

    From Re0sless
  • 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")
    
  • 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

    From CJM
  • 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
    
    From jamting

0 comments:

Post a Comment