2016-04-22 18 views
0

Ich möchte wissen, was das Format des angegebenen Datums in VBScript ist? BeispielVbscript Wie finde ich das Datumsformat?

Wenn das Datum ist 10/08/2015 Ich möchte überprüfen, welches Format es ist?

tt/mm/jjjj oder TT/MM/JJ

ich überprüfen, so viele Funktion ist vbs nichts fit für meine Anforderung

+0

Sie keine Funktion gefunden haben, weil es unmöglich ist, das Datumsformat zu bestimmen, unter Verwendung von nur die Information "10/08/2015". Es kann beides sein. Für welches Problem muss das Datumsformat verwendet werden? – Comintern

+0

Wenn Sie eine Reihe von Datumsstrings im gleichen Format haben, dann können Sie, wenn die Menge groß genug und ausreichend zufällig ist, mit hoher Wahrscheinlichkeit auf das verwendete Format schließen. Wenn Sie Variablen des Subtyps "Datum" haben, haben die Datumswerte selbst * kein * Format, da Format eine Eigenschaft von Zeichenfolgendarstellungen der Datumswerte im Gegensatz zu einer Eigenschaft der zugrunde liegenden Werte ist. Beachten Sie, dass Sie * überprüfen können, welches Format Windows verwendet, wenn es das Datum in der unteren Leiste des Bildschirms anzeigt. –

+0

Sie können den Code auf [this] beziehen (http://www.mrexcel.com/forum/excel-questions/676540-visual-basic-applications-check-if-date-valid-certain-format-dd- mm-yyyy.html), um nach einem bestimmten Format zu suchen. Der Code dort überprüfen, ob irgendein Datum vom Format 'dd.mm.yyyy' ist, können Sie diese Logik verwenden, um nach anderem Format zu suchen. – newguy

Antwort

0

Die folgende Funktion in einigen Situationen nützlich sein könnten. Es kann, wenn möglich, zwischen TT/MM/JJJJ und MM/TT/JJJJ unterscheiden und sagt Ihnen wann nicht. Es ist die Überprüfung kein Fehler so würde irreführende Ergebnisse geben, wenn die Zeichenfolge in einem dieser beiden Formate etwas anderes als ein gültiges Datum ist:

Function FormatUsed(dateString) 
    Dim parts, first, second 

    parts = Split(dateString, "/") 
    first = CInt(parts(0)) 
    second = CInt(parts(1)) 

    If first > 12 Then 
     FormatUsed = "dd/mm/yyyy" 
    ElseIf second > 12 Then 
     FormatUsed = "mm/dd/yyyy" 
    Else 
     FormatUsed = "??/??/yyyy" 
    End If 
End Function 
Verwandte Themen