Как преобразовать строку даты в классическом asp

StackOverflow https://stackoverflow.com/questions/91734

  •  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

У меня есть свои собственные функции манипулирования датой, которые я использую во всех своих приложениях, но изначально они были основаны на этом примере:

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top