Varför inte prova använda DateTime.TryParse()?
//Edit
Haha, vilka slutsatser jag drar. Inte alls säkert du skriver i .NET, fick för mig att tråden låg i .NET-forumet bara.
Sorry mig... :r
2 svar · 269 visningar · startad av Pedda
Jag har en ArrayList med en massa strängar i och när jag loopar ut så kollar jag om det finns datum med hjälp av följande regex.
^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\s(((0?[1-9])|(1[0-9]))\:([0-5][0-9])((\s)|(\:([0-5][0-9])))))?$
Förmodligen har jag gjort något fel i den för ibland får jag upp att den inte kan konvertera till datetime fastän min regex godkänner den.
Formatet som den ska hitta är typ "2006-12-07 17:14:48" eller "2006/12/07"
Någon som ser vad jag har gjort för fel?
Varför inte prova använda DateTime.TryParse()?
//Edit
Haha, vilka slutsatser jag drar. Inte alls säkert du skriver i .NET, fick för mig att tråden låg i .NET-forumet bara.
Sorry mig... :r
Beroende på hur petig du vill vara
^(?:\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])(?: (?:[01]\d|2[0-3]):(?:[0-5]\d):(?:[0-5]\d))?)|(?:\d{4}/(?:0[1-9]|1[0-2])/(?:0[1-9]|[12]\d|3[01]))$
Skottår och {30,31}/2 kollas t.ex. ej.