webForumDet fria alternativet
Logga in / Bli medlem

Parsa datum?

.NET

3 svar · 364 visningar · startad av Travoni

Medlem sedan okt. 20041 556 inlägg
Frågan#1

Finns det ingen smidigare metod att plocka ut ett datum ifrån ex. 20060908T093000Z än denna?

    private DateTime parseDate(string strDate)
{
 return ((DateTime)(string.Format("{0}-{1}-{2} {3}:{4}:00", Left(strDate, 4), Mid(strDate, 5, 2), Mid(strDate, 7, 2), Mid(strDate, 10, 2), Mid(strDate, 12, 2))));
}
Medlem sedan maj 20012 812 inlägg
#2

Du har ju metoden DateTime.Parse() och DateTime.ParseExact() kan inte de hjälpa dig.

- M

Medlem sedan okt. 20041 556 inlägg
#3

Jag skulle kunna göra så här:

DateTime.ParseExact("20060618T092030Z", "yyyyMMddTHHmmssZ", New System.Globalization.CultureInfo("sv-SE", True))

Men kruxet är att Z i slutet inte alltid finns med då får jag formatexeption.

Medlem sedan maj 20012 812 inlägg
#4

Så fall får du väl kolla hur många tecken som finns i tid och välja rätt formatpattern.


string tid = "20060618T092030Z"; 
string patternZ = "yyyyMMddTHHmmssZ"
string patternWithOutZ = "yyyyMMddTHHmmss"

DateTime.ParseExact(tid, (tid.Length == 16 ? patternZ : patternWithOutZ), New System.Globalization.CultureInfo("sv-SE", True))

- M

255 ms totalt · 4 externa anrop · v20260731065814-full.14655e19
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)