Я сейчас немного тупой ...
У меня есть строка даты в европейском формате дд.мм.гггг и мне нужно преобразовать ее в мм.дд.гггг с классическим ASP. Какие-нибудь быстрые идеи?
Если он всегда в этом формате, вы можете использовать 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
ОК, я сам нашел решение:
payment_date = MID(payment_date,4,3) & LEFT(payment_date,3) & MID(payment_date,7)
У меня есть свои собственные функции манипуляции с датой, которые я использую во всех своих приложениях, но изначально она была основана на этом примере:
http://www.adopenstatic.com/resources/code/formatdate.asp