Hvordan konverterer du en streng som 2009-05-08 14:40:52,531
til en DateTime
?
Du har i utgangspunktet to alternativer for dette. DateTime.Parse()
og DateTime.ParseExact()
.
Den første er veldig tilgivende når det gjelder syntaks og vil analysere datoer i mange forskjellige formater. Det er bra for brukerinput som kan komme i forskjellige formater.
ParseExact lar deg spesifisere det nøyaktige formatet på datastrengen som skal brukes til parsing. Det er bra å bruke dette hvis strengen alltid er i samme format. På denne måten kan du enkelt oppdage eventuelle avvik fra de forventede dataene.
Du kan analysere brukerinndata på denne måten:
DateTime enteredDate = DateTime.Parse(enteredString);
Hvis du har et bestemt format for strengen, bør du bruke den andre metoden:
DateTime loadedDate = DateTime.ParseExact(loadedString, "d", null);
"d"
står for det korte datomønsteret (se MSDN for mer informasjon) og null
angir at den gjeldende kulturen skal brukes til å analysere strengen.