4

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?

RamenChef
  • 5,557
  • 11
  • 31
  • 43
Anheledir
  • 4,337
  • 7
  • 32
  • 34

6 Answers6

5

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

Re0sless
  • 10,678
  • 6
  • 51
  • 66
4
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")
Vincent McNabb
  • 33,327
  • 7
  • 31
  • 53
2

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
jamting
  • 1,675
  • 1
  • 17
  • 22
2

OK, I just found a solution myself:

payment_date = MID(payment_date,4,3) & LEFT(payment_date,3) & MID(payment_date,7)
Anheledir
  • 4,337
  • 7
  • 32
  • 34
0

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

CJM
  • 11,908
  • 20
  • 77
  • 115
0
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))

show: 20200623102805

Miguel
  • 1
  • 1