Как преобразовать строку даты в классическом asp
-
01-07-2019 - |
Вопрос
Прямо сейчас я немного туповат…
У меня есть строка даты в европейском формате дд.мм.гггг и нужно преобразовать его в мм.дд.гггг с классическим ЖЕРЕХОМ.Есть какие-нибудь быстрые идеи?
Решение
Если он всегда в этом формате, вы могли бы использовать 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")
Хорошо, я только что сам нашел решение:
payment_date = MID(payment_date,4,3) & LEFT(payment_date,3) & MID(payment_date,7)
Это способ сделать это с помощью встроенной проверки работоспособности на наличие дат:
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
У меня есть свои собственные функции манипулирования датой, которые я использую во всех своих приложениях, но изначально они были основаны на этом примере:
Не связан с StackOverflow