كيفية تحويل سلسلة التاريخ في asp الكلاسيكي

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

  •  01-07-2019
  •  | 
  •  

سؤال

أنا مكتئب قليلاً الآن…

لدي سلسلة تاريخ بالتنسيق الأوروبي dd.mm.yyyy وتحتاج إلى تحويله إلى mm.dd.yyyy مع 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")

حسنًا، لقد وجدت الحل بنفسي:

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